首页 > 数据库 >Centos7上使用yum安装mysql8.x

Centos7上使用yum安装mysql8.x

时间:2022-12-07 17:34:24浏览次数:60  
标签:mysql8 community Centos7 yum https mysql validate password


文章目录

  • ​​前言​​
  • ​​一、官方文档​​
  • ​​二、安装步骤​​
  • ​​1.安装MySQL Yum Repository​​
  • ​​2.选择要安装的版本​​
  • ​​3.检查rpm的签名​​
  • ​​4.安装Mysql​​
  • ​​5.启动mysql服务​​
  • ​​6.修改初始密码​​
  • ​​7.创建用户并赋权​​
  • ​​8.关闭防火墙​​
  • ​​总结​​

前言

最近在家里想搭建一个开发环境玩玩,没想到在虚拟机Centos7上使用yum安装mysql8.x竟然折腾了好久。
这次官网的文档都没有拯救我,踩了好多坑,所以把安装过程整理一下,避免以后重复踩坑。


一、官方文档

官网YUM安装:​​https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html​

二、安装步骤

1.安装MySQL Yum Repository

下载地址:​​https://dev.mysql.com/downloads/repo/yum/​

Centos7上使用yum安装mysql8.x_Mysql


注意:

mysql80-community-release-el7-6.noarch.rpm中的el7表示是操作系统为Centos7。

将下载的rpm文件上传到虚拟机上的指定目录。然后执行yum源仓库的安装命令:

sudo yum install  mysql80-community-release-el7-6.noarch.rpm

官网默认的yum源由于是海外的,在国内网络下载安装时限速严重,这里推荐改为OpenTuna源,速度会快很多。

cd /etc/yum.repos.d/
mv mysql-community.repo mysql-community.repo.bak
vi mysql-community.repo
# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=https://opentuna.cn/mysql/yum/mysql-5.5-community-el7-$basearch/
enabled=0
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=https://opentuna.cn/mysql/yum/mysql-5.6-community-el7-$basearch/
enabled=0
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=https://opentuna.cn/mysql/yum/mysql-5.7-community-el7-$basearch/
enabled=0
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=https://opentuna.cn/mysql/yum/mysql-8.0-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=https://opentuna.cn/mysql/yum/mysql-connectors-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

[mysql-tools-community]
name=MySQL Tools Community
baseurl=https://opentuna.cn/mysql/yum/mysql-tools-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

[mysql-tools-preview]
name=MySQL Tools Preview
baseurl=https://opentuna.cn/mysql/yum/mysql-tools-preview/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

[mysql-cluster-7.5-community]
name=MySQL Cluster 7.5 Community
baseurl=https://opentuna.cn/mysql/yum/mysql-cluster-7.5-community-el7-$basearch/
enabled=0
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

[mysql-cluster-7.6-community]
name=MySQL Cluster 7.6 Community
baseurl=https://opentuna.cn/mysql/yum/mysql-cluster-7.6-community-el7-$basearch/
enabled=0
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

[mysql-cluster-8.0-community]
name=MySQL Cluster 8.0 Community
baseurl=https://opentuna.cn/mysql/yum/mysql-cluster-8.0-community-el7-$basearch/
enabled=0
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

清空并更新缓存:

yum clean all && yum makecache

2.选择要安装的版本

查看所有mysql的yum源仓库:

yum repolist all | grep mysql

Centos7上使用yum安装mysql8.x_安装_02

禁用和启用可以安装的mysql版本:

$> sudo yum-config-manager --disable mysql57-community
$> sudo yum-config-manager --enable mysql80-community

查看可以安装的mysql版本:

yum repolist enabled | grep mysql

3.检查rpm的签名

如果直接进行安装,出现提示获取GPG密钥失败。

sudo yum install mysql-community-server

Centos7上使用yum安装mysql8.x_安装_03


检查签名:

[root@localhost ~]# cd /root
[root@localhost ~]# ls
anaconda-ks.cfg mysql80-community-release-el7-6.noarch.rpm
[root@localhost ~]# rpm --checksig mysql80-community-release-el7-6.noarch.rpm
mysql80-community-release-el7-6.noarch.rpm: RSA sha1 (MD5) PGP md5 不正确

导入密钥:

[root@localhost ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
[root@localhost ~]# rpm --checksig mysql80-community-release-el7-6.noarch.rpm
mysql80-community-release-el7-6.noarch.rpm: rsa sha1 (md5) pgp md5 确定

4.安装Mysql

sudo yum -y  install mysql-community-server

可以发现下载速度快了很多,并且安装过程中就没有出现签名、秘钥的错误提示了。

Centos7上使用yum安装mysql8.x_安装_04

5.启动mysql服务

//启动服务
$> systemctl start mysqld
//设置开机自启动
$>systemctl enable nginx
//查看服务状态
$> systemctl status mysqld

Centos7上使用yum安装mysql8.x_安装_05

6.修改初始密码

查看初始密码:​​sudo grep 'temporary password' /var/log/mysqld.log​

[root@localhost yum.repos.d]# sudo grep 'temporary password' /var/log/mysqld.log
2022-07-05T15:21:05.759128Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: +9ee!Z?esjfe

修改密码:

$> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'laoWAN@123456';

默认情况下,mysql对密码的安全级别限制较高,所以密码需要设置的复杂点才能修改成功。
如果只是开发环境只用,可以通过降低密码校验级别然后将密码修改的简单点。

查看密码校验级别:

mysql> SHOW VARIABLES LIKE 'validate_password.%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+

修改密码校验级别:

//设置密码校验级别
mysql> SET GLOBAL validate_password.policy=LOW;
Query OK, 0 rows affected (0.00 sec)
//设置密码最短长度
mysql> SET GLOBAL validate_password.length=6;
Query OK, 0 rows affected (0.00 sec)

查看是否配置成功:

mysql> SHOW VARIABLES LIKE 'validate_password.%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 6 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | LOW |
| validate_password.special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.01 sec)

修改root用户密码:

$> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

7.创建用户并赋权

CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'root'@'%';

其他命令:

//删除用户
mysql> drop user root@'%';
Query OK, 0 rows affected (0.00 sec)

//刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

//查看用户
use mysql;
select user,host from user;

8.关闭防火墙

默认情况下,Centos7会开启firewalld防火墙,屏蔽所有非22端口的网络请求,导致通过mysql客户端连接mysql服务失败。
由于是开发环境,直接关闭firewalld防火墙。

//停止firewall
systemctl stop firewalld

//禁止firewall开机启动
systemctl disable firewalld

总结

比较关键的几点:
1、不要使用官网默认的yum源,下载速度超级慢,建议切换成OpenTuna源。
2、需要给rpm文件导入GPG密钥,不然会出现获取GPG密钥失败的异常。
3、通过修改默认的密码校验级别,成功设置简单的密码。
4、通过Mysql客户端工具连接失败时,检查Mysql服务是否启动,防火墙是否关闭。


标签:mysql8,community,Centos7,yum,https,mysql,validate,password
From: https://blog.51cto.com/u_15905482/5919840

相关文章