mysql用户被锁定
问题描述 在某一天正常输入密码进入mysql的过程中出现了这样的问题: yoho@~$ mysql -u root -p Enter password: ERROR 3118 (HY000): Access denied for user 'root'@'localhost'. Account is locked. 问题分析 查证一番之后就是账户被锁定了,在mysql.user中的用户的account_locked属性写成了N,正常应该是Y; 现在的问题就是需要进入到mysql中对这个值进行修改。。 问题是平时个人电脑上我就是用的root,其他也没有什么用户了,我就进不去mysql修改不料。 解决方法 一番摸索之后找到了一个方法,绕过权限检查机制登入mysql然后进行修改即可。 绕开权限检查机制的过程如下: 进入/etc/mysql/mysql.conf.d/下,有mysql.cnf和mysqld.cnf两个文件 你看你自己电脑上的东西是写在哪个文件上的,我的电脑上基本就是mysql.cnf是空的,配置都在mysqld.cnf上 对你要修改的文件先用sudo cp命令进行一个备份,再进行修改,防止发生意外 打开文件,在[mysqld]下添加一行配置:skip-grant-tables 保存之后重新启动mysql服务,sudo ststemctl restart mysql 再用mysql -u root 就可以绕过权限直接登陆了 进入之后再对mysql.user表中的相应用户的account_locked字段的值进行修改 最后再将mysqld.cnf改回来重启mysql服务就可以了