adr*_*TNT 1 mysql hosts users host
在 CentOS 5.x 上,我使用了 webmin 面板并且我在 mysql 设置中,我试图允许“root”除了本地主机之外从我的家庭 IP 登录。在主机列表中,我有“any”或“localhost”,我尝试将其设置为“localhost,84.xx.xx.xx”,认为它允许我使用 mysql 管理员程序从本地计算机登录。
保存输入的数据后,我无法在 mysql 上做太多事情
Webmin 说 DBI connect failed : Access denied for user ''@'localhost' to database 'mysql'
在 SSH mysql 中说 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
我的猜测是 mysql 不再允许 root 从任何主机连接,因为我输入了不正确的主机。
我尝试卸载并重新安装 mysql 但没有改变。有没有办法重置这个?我没有数据库数据,如果需要我可以删除所有数据。
谢谢。
以 root 身份登录终端并停止 mysql 守护进程。
/etc/init.d/mysqld stop
Run Code Online (Sandbox Code Playgroud)
然后启动 mysql 守护进程并跳过存储密码和其他特权信息的授权表
mysqld_safe --skip-grant-tables &
Run Code Online (Sandbox Code Playgroud)
您应该会看到 mysqld 成功启动。现在您应该能够在没有密码的情况下连接到 mysql。
mysql --user=root mysql
Run Code Online (Sandbox Code Playgroud)
然后更新相关信息:
update user set Password=PASSWORD('new-password') where user='root';
flush privileges;
exit;
Run Code Online (Sandbox Code Playgroud)
然后像往常一样重新启动 mysql 守护进程
/etc/init.d/mysqld restart
Run Code Online (Sandbox Code Playgroud)
如果您遇到困难,还可以查看MySQL 文档以帮助您解决问题
| 归档时间: |
|
| 查看次数: |
5463 次 |
| 最近记录: |