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

CentOS7上用 yum 安装MySQL5.7

程序员文章站 2024-03-25 14:04:28
...

在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

本次安装的是 MySQL5.7。

1、下载并安装MySQL 的 yum Repository

安装 yum Repository :

[aaa@qq.com /]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum 安装:

[aaa@qq.com /]# yum -y install mysql57-community-release-el7-10.noarch.rpm

yum 安装 MySQL:

[aaa@qq.com /]# yum -y install mysql-community-server

这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

CentOS7上用 yum 安装MySQL5.7
出现这样的提示表示安装成功。

2、MySQL 启动

启动:

[aaa@qq.com /]# systemctl  start  mysqld.service

查看状态:

[aaa@qq.com /]# systemctl  status  mysqld.service

CentOS7上用 yum 安装MySQL5.7

3、密码配置

MySQL 正常运行后,如果要进入MySQL,要先找出root的密码,可以在日志文件中找出 初始密码

[aaa@qq.com /]# grep "password" /var/log/mysqld.log

CentOS7上用 yum 安装MySQL5.7

上面标记的就是初始密码。

root 登录数据库:

[aaa@qq.com /]# mysql -uroot -p     # 回车后会提示输入密码

输入初始密码。 此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

mysql> ALTER USER 'root'@'localhost' identified by 'new password' ;

如果 新密码设置过于简单会报错,如下图:
CentOS7上用 yum 安装MySQL5.7

查看MySQL 的密码规则 :

mysql> SHOW VARIABLES LIKE 'validate_password%' ;
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF |
| 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     |
+--------------------------------------+-------+
rows in set (0.01 sec)

参数说明:

参数 说明
validate_password_check_user_name 设置为ON 时,表示能将密码设置成当前用户名。
validate_password_dictionary_file validate_password 用于密码验证的文件路径。
validate_password_length validate_password 所需密码的最小字符数。(这个值最小是4)
validate_password_mixed_case_count 如果密码策略是中等或更强时,validate_password 要求密码至少要包含的小写字母个数和大写字母个数。
validate_password_number_count 如果密码策略是中等或更强时,validate_password 要求密码至少要包含的数字个数。
validate_password_policy 控制validate_password的密码策略(密码强度等级)。
取值: 0–>low 、1–>MEDIUM 、 2–>strong。

MySQL 密码的长度是由validate_password_length 决定的,而 validate_password_length 的计算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

MySQL 密码设置的复杂度,与 validate_password_policy 的值有关:

CentOS7上用 yum 安装MySQL5.7

3.1、MySQL密码设置的解决方法

方法1、将密码设置为 复杂的密码

ALTER USER  'root'@'localhost'  IDENTIFIED BY   'z?guwrBhH7p>';

CentOS7上用 yum 安装MySQL5.7

方法2、修改密码规则:

mysql> set global validate_password_length=4; 
Query OK, 0 rows affected (0.00 sec)


mysql> set global validate_password_policy=0; 
Query OK, 0 rows affected (0.00 sec)

设置之后,密码就可以设置的很简单,例如1234之类的。

4、移除MySQL 的 Yum Repository

因为安装了 Yum Repository ,以后每次 yum 操作都会自动更新,需要把这个卸载掉:

[aaa@qq.com ~]# yum -y remove mysql57-community-release-el7-10.noarch

5、 第三方客户端(远程)的登录授权:

如果要第三方客户端(远程)的登录授权,则需要权限设置:

grant all on *.*  to aaa@qq.com'%' identified by '数据库密码' ;

如果授权不成功,请查看防火墙。

转载自: https://www.cnblogs.com/brianzhu/p/8575243.html