阿里云服务器(Centos7)安装Mysql5.6

本文参考:

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连接测试了

猜你喜欢

转载自blog.csdn.net/tjsahwj/article/details/81365178
今日推荐