概述
本文参考:
https://blog.csdn.net/tanqian351/article/details/78246590
https://blog.csdn.net/sxyandapp/article/details/77091007
https://blog.csdn.net/qq_32331073/article/details/76229420
Centos7的默认数据库为Mariadb,所以安装mysql的话首先要把这个碍事的家伙给干掉
下载安装包:mysql-5.7.23-linux-glibc2.12-x86_64.tar,可以直接在服务器中下载,我习惯于在本地下载好然后使用xftp上传。存放位置
/usr/local
卸载系统自带的Mariadb
查询已安装的mariadb
[root@ibp1i47bq3wyv26lz ~]# rpm -qa|grep mariadb
卸载mariadb,文件名为上述命令查询出来的文件
[root@ibp1i47bq3wyv26lz ~]# rpm -e --nodeps 文件名
删除etc目录下的my.cnf
[root@ibp1i47bq3wyv26lz ~]# rm /etc/my.cnf
创建mysql用户组
[root@ibp1i47bq3wyv26lz ~]# groupadd mysql
创建一个用户名为mysql的用户并加入mysql用户组
[root@ibp1i47bq3wyv26lz ~]# useradd -g mysql mysql
解压安装包
[root@ibp1i47bq3wyv26lz local]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar
将解压好的文件夹重命名为mysql
[root@ibp1i47bq3wyv26lz local]# mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql
在 etc 下新建配置文件my.cnf
[root@ibp1i47bq3wyv26lz support-files]# cp my-default.cnf /etc/my.cnf
修改my.cnf文件
[root@ibp1i47bq3wyv26lz support-files]# vim /etc/my.cnf
添加如下内容:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
innodb_buffer_pool_size=512M
key_buffer_size=120M
如图:
进入安装mysql软件目录
[root@ibp1i47bq3wyv26lz support-files]# cd /usr/local/mysql
修改当前目录拥有着为mysql用户
[root@ibp1i47bq3wyv26lz mysql]# chown -R mysql:mysql ./
安装数据库
[root@ibp1i47bq3wyv26lz mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
这一步可能会遇到如下问题:
1)
解决方法 :安装autoconf库
[root@ibp1i47bq3wyv26lz mysql]# yum -y install autoconf
2)
这个问题是swap分区为0导致的
使用命令free -m查看系统内存,发现swap确实为0
[root@ibp1i47bq3wyv26lz mysql]# free -m
使用如下一系列命令建立一个swap分区:
创建一个swap文件,大小为512M
[root@ibp1i47bq3wyv26lz mysql]# dd if=/dev/zero of=/swap bs=1M count=512
将swap文件变为swap分区文件
[root@ibp1i47bq3wyv26lz mysql]# mkswap /swap
将其映射为swap分区
[root@ibp1i47bq3wyv26lz mysql]# swapon /swap
此时使用free -m
命令即可看到swap分区已存在了
为了保证下次系统启动后,此swap分区被自动加载,需要修改系统的fstab文件,操作如下:
[root@ibp1i47bq3wyv26lz mysql]# vim /etc/fstab
在其中添加如下一行
/swap swap swap defaults 0 0
保存即可
3)Directory '/var/lib/mysql' for UNIX socket file don't exists.
这个简单,在var/lib目录下创建mysql目录
mkdir mysql
上面问题解决后再次执行安装数据库命令
修改当前data目录的拥有者为mysql用户
[root@ibp1i47bq3wyv26lz mysql]# chown -R mysql:mysql data
授予my.cnf最大权限
[root@ibp1i47bq3wyv26lz mysql]# chown 777 /etc/my.cnf
设置开机启动
复制启动脚本到资源目录
[root@ibp1i47bq3wyv26lz mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
增加mysqld服务控制脚本执行权限
[root@ibp1i47bq3wyv26lz mysql]# chmod +x /etc/rc.d/init.d/mysqld
将mysqld服务加入到系统服务
[root@ibp1i47bq3wyv26lz mysql]# chkconfig --add mysqld
检查mysqld服务是否已经生效
[root@ibp1i47bq3wyv26lz mysql]# chkconfig --list mysqld
mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
启动mysqld
[root@ibp1i47bq3wyv26lz mysql]# service mysqld start
将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件
[root@ibp1i47bq3wyv26lz mysql]# vim ~/.bash_profile
在文件最后添加如下信息:
export PATH=$PATH:/usr/local/mysql/bin
保存内容即可
使修改内容生效
[root@ibp1i47bq3wyv26lz mysql]# source ~/.bash_profile
以root账户登录mysql
[root@ibp1i47bq3wyv26lz mysql]# mysql -uroot -p
默认是没有密码的
要输入密码的时候直接回车即可。
设置root账户密码为root
mysql> use mysql;
mysql> update user set password=password('root') where user='root' and host='localhost';
设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码
mysql> GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
安装完成,可以使用Navicat连接测试了
最后
以上就是安静柜子为你收集整理的阿里云服务器(Centos7)安装Mysql5.6的全部内容,希望文章能够帮你解决阿里云服务器(Centos7)安装Mysql5.6所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复