在 mysql 中重新启用 root 访问权限

Re-enable root access in mysql

我最近在我的(云)服务器上安装了 mysql,然后我 运行 sudo /usr/bin/mysql_secure_installation 并且不允许远程 root 登录。然后我创建了另一个用户 运行 我所有的查询并赋予它适当的权限。我现在不记得密码了(或者密码被以某种方式更改了)并且无法连接到 mysql。每当我尝试使用 mysql -u user -p 连接时,我都会收到以下错误

ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES)

我尝试按照建议的其他问题的答案进行操作,但其中大多数都需要访问 mysql shell。

我也尝试重新配置使用 sudo dpkg-reconfigure mysql-server-5.5(我的版本号是5.5.41)。

使用这个我可以设置root密码但仍然无法连接。我也按照一些用户的建议在安全模式下尝试 运行ning mysql,但没有成功。

我最后想到的是以某种方式启用 root 的远程访问,因为我可以重置它的密码,然后通过 mysql shell 重置 user 密码。所以,我尝试查看 /etc/mysql/my.cnf 文件,但没有看到任何相关内容。

有什么我遗漏的吗?如何重设密码并重新获得访问权限?

停止MySQL服务

#/etc/init.d/mysql stop

执行 MySQL 服务器 --skip-grant-tables

#mysqld -u mysql --skip-grant-tables &

以 root 身份执行 mysql 客户端

#mysql -u root

更新您的密码

mysql> update mysql.user set password=password('newpassword') where user='anotheruser';

重新加载权限

mysql> flush privileges;

杀死mysqld

#killall mysql

启动mysql守护进程

#/etc/init.d/mysql start