在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

我最近在我的(云)服务器上安装了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。它被称为身份验证字符串。