在我的服务器中,每次尝试访问 MySQL 时都会出现错误:
拒绝用户“root”@“localhost”访问(使用密码:否)
当我尝试时mysqladmin -u root -p password
我得到
拒绝用户“root”@“localhost”访问(使用密码:是)
如何在 Ubuntu 服务器 12.04 中访问 MySQL?
答案1
如果您正在运行 n localhost,只需在终端中输入以下命令:
mysql -u root -p
如果您使用外部服务器,也请输入主机 IP (xxx.xxx.xxx.xxx):
mysql -hxxx.xxx.xxx.xxx -uroot -p
系统将提示您输入密码,输入后您就可以访问 MySQL 提示。
您还可以查看这个答案关于如何重置您的 MySQL 密码。
答案2
我在更新时遇到了同样的问题,但对我来说,解决方法(在关闭 mysql 并使用 --skip-grant-tables 重新启动后)是执行
update mysql.user set plugin = '';
更新过程喜欢将此列设置为“unix_socket”。我不知道这样做的目的是什么,但对我来说,这会破坏一切。
答案3
我用这个解决了我的问题:
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt install mysql-server
非常负责任。使用此解决方案,您将删除 MySql 服务器及其所有数据。
答案4
为mysql设置密码
sudo dpkg-reconfigure mysql-server-5.x
现在打开终端并输入
mysql -uroot -p
输入密码并按 Enter