centos7下 mysql8的基本安装和常见问题的解决

一、mysql8.0的基本安装

1、yum仓库下载MySQL:sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

2、yum安装MySQL:sudo yum install mysql-community-server

3、启动MySQL服务:sudo service mysqld start

4、检查MySQL服务状态:sudo service mysqld status

5、查看初始密码(如无内容直接跳过):sudo grep 'temporary password' /var/log/mysqld.log

6、本地MySQL客户端登录:mysql -uroot -p

7、输入密码为第5步查出的,如果没有,直接回车,然后输入命令  flush privileges

8、修改root登录密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';(注意要切换到mysql数据库,使用use mysql)

 一般都要求你去修改临时密码后才能有更多的操作,远程连接mysql的配置在以下内容

二、mysql远程连接的基本配置

在配置好数据库后,进行远程连接需要配置哪些呢??

1.登录mysql

mysql -uroot -p  

2.选择数据库

use mysql;

3.在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

select host, user, authentication_string, plugin from user;

以下结果是修改后的查询,还未修改配置则mysql只能在localhost范围使用

4.刚安装完成 root的host的为localhost  也就是mysql不能进行远程连接,于是需要修改一下配置

grant all on *.* to 'root'@'%' identified by '你的密码'  with grant option;   

如果想限制只能让指定IP登录请把%替换成IP地址

5.刷新权限

flush privileges 

连接过程中可能报以下错误  需要6的配置

!!!2059 - Authentication plugin 'caching_sha2_password' cannot be loaded:

6.一般需要设置plugin加密方式 

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

7.防火墙修改(这一步也是必须的)

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

8.重启mysql 

service msyqld restart

 好了,正常情况下 你已经可以进行远程mysql连接了。

以下是密码修改的常见问题和详细操作。

三、mysql修改密码的常见问题

登录mysql后  用命令查看数据库  结果如下

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

上面说明我们需要先重新设置密码,用以下命令继续

修改root登录密码命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

密码刚开始设置的比较简单,于是又有了一下问题

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678//';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

提示说明 我们设置的简单密码不符合当前的安全策略,于是我们需要先将密码设置较为复杂一下才能操作成功;

1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看

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 |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值,

关于 mysql 密码策略相关参数;
1)、validate_password_length  固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

参考以下地址

https://www.cnblogs.com/hujiapeng/p/9124298.html

https://blog.csdn.net/hello_world_qwp/article/details/79551789

原文地址:https://www.cnblogs.com/zluckiy/p/11854236.html