mysql 根用户在本地主机中“锁定”phpmyadmin

ecbunoof  于 2022-11-28  发布在  Mysql
关注(0)|答案(1)|浏览(267)

在localhost中,我错误地点击了phpmyadmin的“root”用户的“lock”选项,然后我得到了“mysqli::真实的_connect():(HY 000/4151)的规定:访问被拒绝,此帐户被锁定”的问题,而试图再次连接“localhost/phpmyadmin”!我该如何解决这个问题?谢谢
我试过在“config.inc.php”文件中更改“user”“password”“hostname”,但是没有效果!
如何解决这个问题?

41ik7eoe

41ik7eoe1#

如果您在Mac或Linux变体上运行MySQL,根据哪个帐户被锁定,您可能仍然可以使用sudo mysql连接。如果是这样,您可以运行UPDATE查询(向下)来解锁root帐户。您需要运行FLUSH PRIVILEGES;或重新启动MySQL服务以使更改生效。
如果这样做不起作用,或者您使用的是Windows,则可以使用skip-grant-tables在禁用身份验证的情况下启动服务。相关配置文件的位置因版本和操作系统而异。
Windows上MySQL 8.0配置文件的典型位置-

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

许多Linux变体上的MySQL将检查-

/etc/my.cnf

如果它不存在,请检查Linux变体的典型位置。在mysqld部分添加skip-grant-tables选项-

[mysqld]
skip-grant-tables

现在您需要重新启动MySQL服务-

# On Windows (cmd as admin)
net stop MYSQL80
net start MYSQL80

# or PowerShell as admin
Restart-Service -Name MYSQL80

# On Linux
sudo service mysql restart

现在,您应该能够连接到MySQL,而不需要凭据,并且可以使用--execute-e直接传入UPDATE查询。

mysql -e "UPDATE `mysql`.`user` SET `account_locked` = 'N' WHERE `User` = 'root';"

现在,您可以撤消上面所做的配置更改,并重新启动MySQL服务。

相关问题