在mysql中重新启用根访问
我最近在我的(云)服务器上安装了mysql,然后运行了在mysql中重新启用根访问,mysql,root-access,Mysql,Root Access,我最近在我的(云)服务器上安装了mysql,然后运行了sudo/usr/bin/mysql\u secure\u安装,并禁止远程root登录。然后,我创建了另一个用户来运行我的所有查询,并给了它适当的权限。我现在记不起密码了(或者密码被更改了),无法连接到mysql。每当我尝试使用mysql-u user-p进行连接时,都会出现以下错误 错误1045(28000):用户'user'@'localhost'的访问被拒绝(使用密码:是) 我试着按照其他问题的答案来回答,但大多数都需要访问mysql
sudo/usr/bin/mysql\u secure\u安装
,并禁止远程root登录。然后,我创建了另一个用户来运行我的所有查询,并给了它适当的权限。我现在记不起密码了(或者密码被更改了),无法连接到mysql。每当我尝试使用mysql-u user-p
进行连接时,都会出现以下错误
错误1045(28000):用户'user'@'localhost'的访问被拒绝(使用密码:是)
我试着按照其他问题的答案来回答,但大多数都需要访问mysql shell
我还尝试使用
sudo dpkg重新配置mysql-server-5.5
(我的版本号是5.5.41)
使用这个我可以设置根密码,但仍然无法连接它。正如一些用户建议的那样,我还尝试在安全模式下运行mysql,但没有成功
我所能想到的最后一件事是以某种方式重新启用root的远程访问,因为我可以重置它的密码,然后通过mysql shell重置user
密码。因此,我尝试查看/etc/mysql/my.cnf
文件,但没有看到任何相关内容
我有什么遗漏吗?如何重置密码并重新获得访问权限 停止MySQL服务
#/etc/init.d/mysql stop
Exec MySQL服务器带--跳过授权表
#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时使用了
skip grant table&
选项,而不是mysqld
。这个答案仍然有效,只是在5.7.20版中,密码字段名不再称为password。它被称为身份验证字符串。