我在使用localhost以外的机器上连接MySQL数据库时遇到问题。
在我的localhost上,我可以使用Workbench连接到我的MySQL数据库并执行命令,修改所有内容等等,但如果我尝试通过另一台机器连接到它,使用匹配IP和端口号(我看过并检查过!甚至使用netstat来查看正在收听的内容!)没有去。即使在同一个网络上,我输入其IP(192.168.1.120
),但它完全拒绝连接,即使只是在浏览器中输入IP并且端口号无法连接,甚至连文件都没有说数据包乱了!
我尝试过端口转发,刷新/重新启动/重新加载配置,重新检查我的防火墙和防病毒软件,但都无济于事。
答案 0 :(得分:2)
通过可以制作的MySQL连接,提供此查询。您需要一个特权连接。
select host, user from mysql.user
查找提及您尝试连接的主机名和用户名的行。 user
表提及每个用户以及允许其连接的主机。
您可能必须发出这样的命令,为自己提供一个能够远程访问的用户条目:
CREATE USER 'alan' @ '%' IDENTIFIED BY 'REDACTED_PASSWORD';
GRANT EXECUTE, PROCESS, SELECT, SHOW DATABASES, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TABLESPACE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, CREATE USER, FILE, LOCK TABLES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN, SUPER ON *.* TO 'alan' @ '%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果这是你的问题,不用担心。你不是第一个拥有它的人。