【发布时间】:2018-04-13 05:16:56
【问题描述】:
我丢失了 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 用户/密码上输入 MySQL 提示,但该用户无权访问“mysql”数据库以重置密码。
有什么帮助吗?
【问题讨论】:
-
您必须以 root 身份执行
mysql -u root命令,即通过sudo。 -
同样的错误不断发生。我注意到它试图访问的 .sock 文件仅在 mysqld 运行时存在。
标签: mysql