概述
前文记录了在Windows系统中安装配置MySQL 5.7(前文连接:https://www.cnblogs.com/Dcl-Snow/p/10513925.html),由于安装部署大数据环境需要,现在要在CentOS 7系统中安装配置MySQL 5.7,CentOS 7环境安装配置也已经记录过(前文连接:https://www.cnblogs.com/Dcl-Snow/p/10811659.html),所以此处直接进行安装配置。
yum源安装MySQL 5.7
安装MySQL 5.7
在CentOS 7系统中系统默认的源文件是不包含MySQL的,直接使用yum源执行安装命令会提示“没有可用软件包 mysql-community-server。”:
所以需要先手动执行以下命令,下载源文件的安装文件:
1 # cd /home 2 # wget ‘https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm‘
1 # rpm -ivh mysql57-community-release-el7-11.noarch.rpm
1 # yum install -y mysql-community-server
1 # systemctl start mysqld 2 # systemctl status mysqld
1 # cat /var/log/mysqld.log
1 # grep ‘temporary password‘ /var/log/mysqld.log
1 # mysql -uroot -p
1 > SET PASSWORD = PASSWORD(‘Password@123!‘);
1 > GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘Password@123!‘ WITH GRANT OPTION;
1 # vim /etc/my.cnf
1 [mysqld] 2 datadir=/var/lib/mysql 3 socket=/var/lib/mysql/mysql.sock 4 symbolic-links=0 5 log-error=/var/log/mysqld.log 6 pid-file=/var/run/mysqld/mysqld.pid 7 character-set-server = utf8mb4 8 collation-server = utf8mb4_unicode_ci 9 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 10 11 [mysql] 12 default-character-set = utf8mb4 13 14 [client] 15 default-character-set = utf8mb4 16
注意:
此处设置为utf8mb4:一是因为utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符,所以直接往utf-8编码的数据库中插入表情数据,会报异常;二是看过一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。
配置完成后,执行如下命令重启数据库服务:
1 # systemctl restart mysqld
1 # SHOW VARIABLES LIKE ‘character%‘;
1 # systemctl enable mysqld
1 # cd /usr 2 # mkdir mysql57
1 # rpm -qa | grep mariadb 2 # rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
1 # rpm -ivh *.rpm
1 # systemctl start mysqld 2 # systemctl status mysqld
1 # grep ‘temporary password‘ /var/log/mysqld.log
1 # mysql -uroot -p
1 > SET PASSWORD = PASSWORD(‘******‘);
1 > GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘******‘ WITH GRANT OPTION;
1 # vim /etc/my.cnf
1 [mysqld] 2 character-set-server = utf8mb4 3 collation-server = utf8mb4_unicode_ci 4 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 5 6 [mysql] 7 default-character-set = utf8mb4 8 9 [client] 10 default-character-set = utf8mb4 11
注意:
此处设置为utf8mb4:一是因为utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符,所以直接往utf-8编码的数据库中插入表情数据,会报异常;二是看过一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。
配置完成后,执行如下命令重启数据库服务:
1 # systemctl restart mysqld
1 # SHOW VARIABLES LIKE ‘character%‘;
1 # systemctl enable mysqld
原文:https://www.cnblogs.com/Dcl-Snow/p/11969388.html