mysql8.0 rpm方式安装(CentOS7.6)

工具 / 2021-09-10

一、查看linux操作系统版本和系统内核版本

1、查看操作系统版本:cat /etc/redhat-release
2、查看系统内核版本:uname -r
3、查看Linux版本信息:cat /proc/version
注意:步骤 2 和 3 选择一个就可。
在这里插入图片描述
二、下载所需版本MySQL安装文件

1、官网下载上传,地址是:https://dev.mysql.com/downloads/mysql/,
推荐使用这个地址,下载比较快速,当然版本是历史版本。https://downloads.mysql.com/archives/community/
然后本地上传(我这里使用的远程连接工具是:Xshell6)

2、服务器直接下载,使用命令:wget +上面指向的下载地址
例如:wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
我这里使用的是mysql8.0.20的版本。

1、检查是否安装的 mariadb:rpm -qa | grep -i mariadb,-i表示忽略大小写
2、卸载默认安装的 mariadb:rpm -e mariadb-libs --nodeps,–nodeps表示忽略依赖关系
3、查看用户组信息并将这些mysql用户信息删除
查看命令:

more /etc/passwd | grep mysql
more /etc/shadow | grep mysql
more /etc/group | grep mysql

删除命令:

groupdel mysql
userdel mysql

四、解包并进行安装

安装步骤说明:

【安装顺序:(包之间相互依赖,所以必须注意安装顺序)】
1、先装 common
2、再装 libs(确保 mariadb 已卸载,centos7 默认支持 mariadb,不卸载会出现冲突)
3、再装 client
4、最后装 server

1、解包命令:tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
2、安装 libaio 依赖:yum -y install libaio
此处不安装的话,安装 server 时会报错

警告:mysql-community-server-8.0.20-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
libaio.so.1()(64bit) 被 mysql-community-server-8.0.20-1.el7.x86_64 需要
libaio.so.1(LIBAIO_0.1)(64bit) 被 mysql-community-server-8.0.20-1.el7.x86_64 需要
libaio.so.1(LIBAIO_0.4)(64bit) 被 mysql-community-server-8.0.20-1.el7.x86_64 需要

## 这里顺序执行
rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm

3、正式安装

这里顺序执行

rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm

## 这里顺序执行
rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm

4、验证安装是否成功
方式1::查看mysql是否安装成功【出现版本和用户组信息即代表安装成功】

mysqladmin --version
cat /etc/passwd|grep mysql
cat /etc/group|grep mysql

mysqladmin --version
cat /etc/passwd|grep mysql
cat /etc/group|grep mysql

方式2:查看安装的mysql是否已安装成功 :rpm -qa | grep -i mysql
在这里插入图片描述
五、启动mysql服务并设置mysql服务开机自启

1、检查mysql服务状态:systemctl mysqld status
2、mysql 服务启动关闭命令:

启动mysql服务:systemctl mysqld start
停止mysql服务:systemctl mysqld stop
重启mysql服务:systemctl mysqld restart

启动mysql服务:systemctl mysqld start
停止mysql服务:systemctl mysqld stop
重启mysql服务:systemctl mysqld restart

3、设置mysql服务开机自启动:systemctl enable mysqld
验证自启动是否成功:chkconfig --list | grep mysql
不行的话使用 systemctl list-unit-files指令查看。
六、登录mysql并设置密码以及mysql远程登录

1、连接mysql
方式1、使用初始密码登录命令:mysql8提供了初始登录密码,查看位置:

[root@localhost ~]# cat /var/log/mysqld.log | grep password
2021-07-21T08:38:52.071659Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Wz!LKt)!N6hT

[root@localhost ~]# cat /var/log/mysqld.log | grep password
2021-07-21T08:38:52.071659Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Wz!LKt)!N6hT

输入指令mysql -u root -p,回车将密码输入后即可。
方式2、编辑my.cnf文件跳过密码,编辑文件时,找到[mysqld],然后添加skip-grant-tables保存后重启 mysql 服务。
注意:方式2在设置好登录密码后取消添加的指令,并且完成重启。

2、设置本地登录密码和远程访问密码

先设置密码,例如:Mysql@123,注意密码为高安保等级(例如大小写和特殊字符的组合),不然无法使用其他操作

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@123';

看当前所有数据库

show databases;

进入mysql库

use mysql;

查看当前默认规则:

show variables like 'validate_password%';

修改校验密码策略等级:LOW,默认为:MEDIUM

set global validate_password.policy=LOW;

设置密码长度至少为 6,默认为8;

set global validate_password.length=6;

立即生效

flush privileges;

查看用户信息

select host, user, authentication_string, plugin from user;

更新root信息

update user set host='%' where user='root';

授权root用户可以远程登陆

GRANT ALL ON . TO 'root'@'%';

远程连接设置

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Mysql@123';

立即生效

flush privileges;

## 先设置密码,例如:Mysql@123,注意密码为高安保等级(例如大小写和特殊字符的组合),不然无法使用其他操作
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@123';
## 看当前所有数据库
show databases;
## 进入mysql库
use mysql;
## 查看当前默认规则:
show variables like 'validate_password%';
## 修改校验密码策略等级:LOW,默认为:MEDIUM
set global validate_password.policy=LOW;
## 设置密码长度至少为 6,默认为8;
set global validate_password.length=6;
## 立即生效
flush privileges;
## 查看用户信息
select host, user, authentication_string, plugin from user;
# 更新root信息
update user set host='%' where user='root';
# 授权root用户可以远程登陆
GRANT ALL ON *.* TO 'root'@'%';
## 远程连接设置
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Mysql@123'; 
## 立即生效
flush privileges;

3、远程防火墙设置(CentOS7.5);
方案1:关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

systemctl stop firewalld.service          #停止firewall
systemctl disable firewalld.service        #禁止firewall开机启动

方案2:开放访问端口
1、开放端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:

--zone #作用域
--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

--zone #作用域
--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

2、重启生效:firewall-cmd --reload
六、其他配置

1、服务端编码设置(可选),mysql8默认的编码是:utf8mb4,它是utf8的超集
1)查看服务端编码:show variables like 'character%';

2)设置utf-8编码
1、编辑my.cnf文件:vim /etc/my.cnf
编辑内容如示:

#在对应位置加入如下内容并保存退出
[client]
default-character-set=utf8

[mysqld]
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci

[mysql]
default-character-set=utf8

#在对应位置加入如下内容并保存退出
[client]
default-character-set=utf8
		
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
		
[mysql]
default-character-set=utf8

3)重启mysql服务:service mysqld restart

以上采坑记录待续!
.csdn.net/rao991207823/article/details/119840876