参考官方文档:
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
本地环境:Centos7.6
1、到这个网址下载rpm包
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
找到对应的操作系统,进行下载,并安装。
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm
2、使用MySQL Yum存储库时,默认情况下会选择最新的GA系列(当前为MySQL 8.0)进行安装
如果您的平台支持 yum-config-manager,则可以通过发出以下命令来实现,这些命令将禁用5.7系列的子存储库,并启用5.6系列的子存储库。
我的操作系统中没有yum-config-manager这个命令,需要安装下,
yum -y install yum-utils
sudo yum-config-manager --enable mysql57-community
sudo yum-config-manager --disable mysql80-community
yum repolist all | grep mysql
使用此命令查看MySQL Yum存储库中的所有子存储库,并查看启用或禁用了哪些子存储库.现在可以看到结果已经是
yum repolist enabled | grep mysql
通过运行这个命令并检查其输出,验证是否已启用和禁用正确的子存储库
【mysql57-community/x86_64 MySQL 5.7 Community Server 】
3、
3.1 安建MYSQL
sudo yum install mysql-community-server
3.2 启动MYSQL
sudo service mysqld start
3.3 查看MYSQL运行状态
sudo service mysqld status
3.4 查看安装后初始化的root用户密码:
sudo grep 'temporary password' /var/log/mysqld.log
【2020-05-14T00:39:34.405840Z 1 [Note] A temporary password is generated for root@localhost: <HtnR(j4kcqc】
密码就是:<HtnR(j4kcqc
3.5修改root用户密码
mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
报错了,原因是太简单了,换个复杂些的就OK了。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Chai@123456';
Query OK, 0 rows affected (0.00 sec)
官方对修改密码的说明 :validate_password
默认情况下已安装。实施的默认密码策略validate_password
要求密码至少包含一个大写字母,一个小写字母,一位数字和一个特殊字符,并且密码总长度至少为8个字符。
3.6 退出数据库,再使用新密码登录就可以了。
3.7 如果想使用简单密码,修改密码为 123456 怎么办?
SHOW VARIABLES LIKE 'validate_password%';
能看到初始密码相关策略。
可以看到密码长度短是8位,validate_password_policy级别是MEDIUM
set global validate_password_length=6;
set global validate_password_policy=LOW;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
3.8 root用户默认只能在本地登录,修改为任意IP登录。
mysql> select user,host from mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-----------+
可以看到root用户的host列是localhost,意味着只能在本地登录。
mysql> update mysql.user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
修改完成后root用户可以在任意客户端连接数据库。