我在Linux主机上安装了MySQL服务器,IP地址为192.168.1.100,但是当我尝试连接到这个IP时,总是出现错误(111)。但是使用localhost和127.0.0.1是可以的。
beer@beer-laptop# ifconfig | grep "inet addr" inet addr:127.0.0.1 Mask:255.0.0.0 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 beer@beer-laptop# mysql -ubeer -pbeer -h192.168.1.100 ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.100' (111) beer@beer-laptop# mysql -ubeer -pbeer -hlocalhost Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 160 Server version: 5.1.31-1ubuntu2 (Ubuntu) Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> beer@beer-laptop# mysql -ubeer -pbeer -h127.0.0.1 Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 161 Server version: 5.1.31-1ubuntu2 (Ubuntu) Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql>
从另一台机器连接时也出现错误111。
another@another-laptop# mysql -ubeer -pbeer -h192.168.1.100 ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.100' (111)
在这种情况下,使用localhost或127.0.0.1与使用192.168.1.100之间有什么区别?我不知道如何从另一台机器连接到这个数据库。
请帮忙,谢谢。
111代表连接被拒绝,这意味着您的mysqld只监听本地主机接口。
要进行修改,您可以查看my.cnf文件中mysqld部分的bind-address值。
这可能意味着您的MySQL服务器只监听本地主机接口。
如果您有类似以下的行:
在您的my.cnf配置文件中,您应该将它们注释掉(在行的开头添加#),然后重新启动MySQL。
当然,要进行这个操作,您必须是服务器的管理员。