在Linux环境下忘记了MySQL的密码怎么办?表名称找不到?设置密码的安全强度?

976 阅读1分钟

找回MySQL密码

在Linux环境下忘记了MySQL的密码怎么办? 不要慌,下面的方法可能对你有帮助

1、首先找到 MySql的配置文件 my.cnf , 默认是放在 /etc/my.cnf 不同的Linux系统可能存放的位置不一样

在my.cnf中添加下面的这条记录即可
[mysqld]
skip-grant-tables 

做完上面的操作以后,需要重新启动MySQL的服务

使用下面的命令:systemctl restart mysqld

接下来进入到Mysql中就不用密码了,直接使用以下命令 mysql -uroot -p 它让你输入密码的时候直接回车即可

image.png

2、重新指定密码即可 在这里我就不重新指定密码了。

选择数据库:use mysql;
5.7以上版本运行:update user set password= password("newPassword")where user='root';
5.7以下版本运行:update user set authentication_string= password("newPassword")where user='root';

3、将配置文件修改回去,重启mysql的服务,密码就修改完成了。

设置密码的安全强度

查看当前的密码强度级别:SHOW VARIABLES LIKE 'validate_password%'

image.png

密码强度从低到高: validate_password_policy: 0 > 1 > 2

set global validate_password_length=4;
set global validate_password_policy=0;

设置以后:

image.png

找不到MySQL的表名

一开始遇到这个问题的时候还以为是表名写错了,找了半天,后来才知道MySQL在linux的环境下,表明是区分大小写的。

如果想要关闭区分大小写:请在my.cnf中添加以下命令 lower_case_table_names=1

image.png