远程连接虚拟机数据库出现:“ERROR 2003: “Can‘t connect to MySQL server on ‘localhost‘(10060)“

    技术2024-10-20  49

    首先测试本机和虚拟机能否ping通

    ping的通,下一步ping不通,查看虚拟机的ipv4地址是否和本机的在同一网段,修改虚拟机的ipv4地址,使其和本机的在同一网段,即可ping通

    测试能否成功连接

      不能,则修改数据库连接权限

    // %:表示从任何主机连接到mysql服务器 mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; //刷新权限 mysql> FLUSH PRIVILEGES;

      或者 可能你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost“改称”%”

    mysql -u root -p mysql>use mysql; mysql>update user set host = '%' where user = 'root' and host='localhost'; mysql>select host, user from user; mysql>FLUSH RIVILEGES;

    再次测试能否成功连接

      不能,查看是否为虚拟机和本机的防火墙所阻隔。 关闭本机防护墙,开启虚拟机的3306端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent

    再次测试连接,连接成功!

    Processed: 0.011, SQL: 9