![无法登录 MySQL](https://linux22.com/image/653941/%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95%20MySQL%20.png)
我尝试通过命令提示符连接到 MySQL。但我总是得到“‘admin’@‘localhost’ 用户访问被拒绝。”(错误 1045)。
此 MySQL 在 Windows 2012 R2 服务器上运行。我有两个 MySQL 服务器实例在不同端口上运行:一个用于端口 8306 上的 Plesk 数据库,另一个用于常用端口 3306 上的客户端数据库(我尝试连接到该数据库)。
如此处所述:http://kb.sp.parallels.com/en/427我正在使用相应的用户名和密码。
我正在运行这个命令:mysql -uadmin -p*** -P3306
。但是它给了我访问被拒绝错误。
如果有人能指出这个错误背后的原因,我将非常感激。
答案1
如果您可以使用 php 等其他程序进行本地连接,那么您的凭据可能没有远程访问权限。
您还可以做什么: - 确保没有防火墙阻止对 MySQL 的访问。
确保服务器未配置为忽略网络连接。如果服务器以 --bind-address=127.0.0.1 启动,它将不接受 TCP 连接。
确保授权表已初始化。如果没有,请手动执行。
如果您最近进行了任何更新,请运行 mysql_upgrade 脚本。
检查环境变量。它们可能包含无效的默认连接参数。
您是否使用 PASSWORD() 更改密码?如果您使用 SET PW / INS /UPD,它将不起作用。
错误
SET PASSWORD FOR 'q'@'hostname' = 'pas';
正确的:
SET PASSWORD FOR 'q'@'hostname' = PASSWORD('pas');
通过执行 mysql -u root mysql 并发出以下 SQL 语句来检查用户表:
从用户中选择*;
您应该有一行,其中主机和用户列与您的客户端的主机名和您的 MySQL 用户名相匹配。
还有更深层次的东西可以测试,但通常都是上述内容。