欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

CentOS 7安装配置MySQL 5.7

程序员文章站 2022-07-01 16:31:03
概述前文记录了在Windows系统中安装配置MySQL 5.7(前文连接:https://www.cnblogs.com/Dcl-Snow/p/10513925.html),由于安装部署大数据环境需要,现在要在CentOS 7系统中安装配置MySQL 5.7,CentOS 7环境安装配置也已经记录过... ......

概述
前文记录了在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


现在可以安装mysql了,执行如下命令:
  1 # yum install -y mysql-community-server

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

执行如下命令,启动数据库并查看数据库状态:
  1 # systemctl start mysqld
  2 # systemctl status mysqld


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


或者使用如下命令:
  1 # grep 'temporary password' /var/log/mysqld.log


使用如下命令登录mysql数据库:
  1 # mysql -uroot -p

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

使用如下命令,修改root用户密码:
  1 > set password = password('password@123!');


数据库默认远程访问未开放,使用如下命令进行配置:
  1 > grant all privileges on *.* to 'root'@'%' identified by 'password@123!' with grant option;

然后输入quit,回车退出数据库登录,使用命令打开数据库的配置文件:
  1 # vim /etc/my.cnf


设置数据库字符集为utf8mb4,并设置sql_mode支持group by语句,完整的配置文件内容如下:
  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

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

远程连接到服务器上的/usr目录下创建mysql57:
  1 # cd /usr
  2 # mkdir mysql57

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

由于centos 7系统中默认安装了mariadb,使用如下命令,查看并卸载mariadb:
  1 # rpm -qa | grep mariadb
  2 # rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

然后使用rpm命令进行安装:
  1 # rpm -ivh *.rpm


使用如下命令启动mysql服务,并查看服务运行状态:
  1 # systemctl start mysqld
  2 # systemctl status mysqld


mysql 5.7数据库安装完成。
配置mysql 5.7
查看log文件获取密码:
  1 # grep 'temporary password' /var/log/mysqld.log


使用如下命令登录mysql数据库:
  1 # mysql -uroot -p

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

使用如下命令,修改root用户密码:
  1 > set password = password('******');

数据库默认远程访问未开放,使用如下命令进行配置:
  1 > grant all privileges on *.* to 'root'@'%' identified by '******' with grant option;

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

然后输入quit,回车退出数据库登录,使用命令打开数据库的配置文件:
  1 # vim /etc/my.cnf

设置数据库字符集为utf8mb4,并设置sql_mode支持group by语句,完整的配置文件内容如下:
  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

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