我丢失了root密码并尝试重置密码。我有sudo访问权限。阅读其他页面,我正在使用skip-grant-tables选项尝试以下方法:
$ sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
$ sudo mysqld --skip-grant-tables &
[1] 17849
$ mysql -u root mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
[1]+ Exit 1 sudo mysqld --skip-grant-tables
我在尝试添加-h 127.0.0.1
选项时也是如此。我不知道mysqld.sock应该在哪里,如果它不是它试图找到它的地方,我有点迷失在哪里去下一步。
我可以在另一个MySQL用户/ pw上输入MySQL提示符,但该用户无权访问“mysql”数据库以重置密码。
任何帮助?
答案 0 :(得分:0)
检查this question是否有同样的错误
要恢复密码,您只需按照以下步骤操作:
此时,您需要发出以下MySQL命令来重置root密码:
mysql> use mysql;
mysql> update user set authentication_string=password('NEWPASSWORD') where user='root';
mysql> flush privileges;
mysql> quit
其中NEWPASSWORD是要使用的新密码。
就是这样。您现在可以设置,重置和恢复MySQL密码。