在 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
我最近在我的(云)服务器上安装了 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