一、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_passwordBY '你的密码';
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 整个密码中至少要包含特殊字符的个数;
参考以下地址