环境:Cent OS 7
MySQL版本:5.7.24
遇到问题:
1.启动mysql报错
查看发现没有该文件
查看日志
cat /var/lib/mysql/hadoop1.err
完全卸载mysql(包括删除各种mysql文件),重新安装问题解决
(PS:一定要完全卸载干净mysql,不然重新安装后会遇到各种问题)
2.不能初始化数据库
mysql密码错误引起,重新设置密码
密码设置格式为 mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';
在没有修改密码策略的情况下注意密码格式:至少包含一个大写字母、一个小写字母、一个特殊符号、一个数字,密码长度至少为8个字符。
3.ERROR 1820 (HY000):You must reset your password using ALTER USER statement before executing this statement.
mysql密码问题,修改mysql密码
格式为:
mysql> alter user 'root'@'localhost' identified by 'Root_root123';
设置密码永久生效
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
4.不能设置mysql的简单密码
mysql5.7以后版本新增密码策略,保证mysql数据安全,重新设置mysql密码策略即可
(1)进入mysql查看密码策略
mysql> SHOW VARIABLES LIKE 'validate_password%';
一般如下图所示
(2)如果上面命令执行显示为空,则修改mysql配置文件启动该插件
# vi /etc/my.cnf
增加下面配置
#启动时载入密码策略插件
plugin-load=validate_password.so
重启启动服务
# systemctl restart mysqld.service
密码策略显示:
validate_password_length 8 # 密码的最小长度,此处为8。
validate_password_mixed_case_count 1 # 至少要包含小写或大写字母的个数,此处为1。
validate_password_number_count 1 # 至少要包含的数字的个数,此处为1。
validate_password_policy MEDIUM # 强度等级,其中其值可设置为0、1、2。分别对应:
【0/LOW】:只检查长度。
【1/MEDIUM】:在0等级的基础上多检查数字、大小写、特殊字符。
【2/STRONG】:在1等级的基础上多检查特殊字符字典文件,此处为1。
validate_password_special_char_count 1 # 至少要包含的个数字符的个数,此处为1
修改密码策略:
mysql> SET GLOBAL validate_password_policy='LOW'; 降低安全等级
mysql> SET GLOBAL validate_password_length=4; 密码长度为4
重新修改密码
重新启动服务
5.重新启动服务后密码策略还是没有生效,不能使用简单密码
解决:修改配置文件,配置不启用密码验证
# vi /etc/my.cnf
增加配置
validate_password=off
重新启动服务
重修修改密码