美文网首页
CentOS 7安装配置MySQL 5.7

CentOS 7安装配置MySQL 5.7

作者: Dcl_Snow | 来源:发表于2019-11-12 11:05 被阅读0次

概述

前文记录了在Windows系统中安装配置MySQL 5.7(前文连接:https://www.jianshu.com/p/b96e55e86c98),由于安装部署大数据环境需要,现在要在CentOS 7系统中安装配置MySQL 5.7,CentOS 7环境安装配置也已经记录过(前文连接:https://www.jianshu.com/p/d237c82b9a53),所以此处直接进行安装配置。

yum源安装MySQL 5.7

安装MySQL 5.7

在CentOS 7系统中系统默认的源文件是不包含MySQL的,直接使用yum源执行安装命令会提示“没有可用软件包 mysql-community-server。”:


mysql01.png

所以需要先手动执行以下命令,下载源文件的安装文件:

# cd /home
# wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
mysql02.png

然后执行源文件安装命令:

# rpm -ivh mysql57-community-release-el7-11.noarch.rpm
mysql03.png

现在可以安装MySQL了,执行如下命令:

# yum install -y mysql-community-server

稍候片刻,等待下载安装完成:


mysql04.png

执行如下命令,启动数据库并查看数据库状态:

# systemctl start mysqld
# systemctl status mysqld
mysql05.png

配置MySQL 5.7

该版本数据库会在安装时,会在/var/log/mysqld.log文件中生成一个随机的root用户的密码,查看该文件获取密码:

# cat /var/log/mysqld.log
mysql06.png

或者使用如下命令:

# grep 'temporary password' /var/log/mysqld.log
mysql07.png

使用如下命令登录MySQL数据库:

# mysql -uroot -p

密码输入刚才查到的密码,即可登录数据库:


mysql08.png

使用如下命令,修改root用户密码:

> SET PASSWORD = PASSWORD('Password@123!');
mysql09.png

数据库默认远程访问未开放,使用如下命令进行配置:

> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Password@123!' WITH GRANT OPTION;

然后输入quit,回车退出数据库登录,使用命令打开数据库的配置文件:

# vim /etc/my.cnf
mysql10.png

设置数据库字符集为utf8mb4,并设置sql_mode支持group by语句,完整的配置文件内容如下:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[mysql]
default-character-set = utf8mb4

[client]
default-character-set = utf8mb4

\color{red}{注意:}
此处设置为utf8mb4:一是因为utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符,所以直接往utf-8编码的数据库中插入表情数据,会报异常;二是看过一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。
配置完成后,执行如下命令重启数据库服务:

# systemctl restart mysqld

使用修改后的密码,登录数据库,执行如下命令查看字符集设置:

# SHOW VARIABLES LIKE 'character%';
mysql11.png

执行如下命令,设置数据库服务开机启动:

# systemctl enable mysqld

压缩包安装MySQL 5.7

若服务器无法联网,不能使用yum源进行安装,可以使用能够联网的电脑,去官网下载压缩包进行安装,下面换台服务器进行压缩包安装。
首先去官方网站:https://www.mysql.com/下载相关安装包:

压缩包安装01.png
远程连接到服务器上的/usr目录下创建mysql57:
# cd /usr
# mkdir mysql57

使用Xftp将压缩包上传到服务器上的mysql57目录:


压缩包安装02.png

由于CentOS 7系统中默认安装了mariadb,使用如下命令,查看并卸载mariadb:

# rpm -qa | grep mariadb
# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

然后使用rpm命令进行安装:

# rpm -ivh *.rpm
压缩包安装03.png

使用如下命令启动MySQL服务,并查看服务运行状态:

# systemctl start mysqld
# systemctl status mysqld
压缩包安装04.png

MySQL 5.7数据库安装完成。

配置MySQL 5.7

查看log文件获取密码:

# grep 'temporary password' /var/log/mysqld.log
压缩包安装05.png

使用如下命令登录MySQL数据库:

# mysql -uroot -p

密码输入刚才查到的密码,即可登录数据库:


压缩包安装06.png

使用如下命令,修改root用户密码:

> SET PASSWORD = PASSWORD('******');

数据库默认远程访问未开放,使用如下命令进行配置:

> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;

星号为root用户的密码(下图红色覆盖区域):


压缩包安装07.png

然后输入quit,回车退出数据库登录,使用命令打开数据库的配置文件:

# vim /etc/my.cnf

设置数据库字符集为utf8mb4,并设置sql_mode支持group by语句,完整的配置文件内容如下:

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[mysql]
default-character-set = utf8mb4

[client]
default-character-set = utf8mb4
压缩包安装08.png

此处设置为utf8mb4:一是因为utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符,所以直接往utf-8编码的数据库中插入表情数据,会报异常;二是看过一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。
配置完成后,执行如下命令重启数据库服务:
# systemctl restart mysqld

使用修改后的密码,登录数据库,执行如下命令查看字符集设置:

# SHOW VARIABLES LIKE 'character%';
压缩包安装09.png

执行如下命令,设置数据库服务开机启动:

# systemctl enable mysqld

因为记录了两种不同的安装方式,所以配置也记录了两遍,只是希望看不同安装方式的朋友不需要回头再去翻配置,至此CentOS 7安装配置MySQL 5.7记录完成。

相关文章

网友评论

      本文标题:CentOS 7安装配置MySQL 5.7

      本文链接:https://www.haomeiwen.com/subject/nauovctx.html