mysql 数据库默认的连接只能在本机连接,远程连接必须授权。
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用 mypassword作为密码
这样数据库就允许远程连接了。
但在用MyEclipse的db browser 连接时,还是提示无法连接。我就怀疑是不是我的mysql驱动包有问题。
刚开始用的驱动包是mysql-connector-java-3.1.13-bin.jar ,怀疑版本太低,结果又DOWN了一个新的mysql-connector-java-5.1.7-bin.jar。继续连接还是不行。
头都想破了,网上资料查了一堆也没发现相关的解决方案,于是抱着试试看的心态去查看mysql的配置文件
vi /etc/mysql/my.cnf
结果发现有这么几行
大家看到了吧bind-address = 127.0.0.1 这一行就把连接地址给限制死了,只能本机连接。于是我把这行注释掉\
重新启动mysql
-
代码:
-
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用 mypassword作为密码
-
代码:
-
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION
这样数据库就允许远程连接了。
但在用MyEclipse的db browser 连接时,还是提示无法连接。我就怀疑是不是我的mysql驱动包有问题。
刚开始用的驱动包是mysql-connector-java-3.1.13-bin.jar ,怀疑版本太低,结果又DOWN了一个新的mysql-connector-java-5.1.7-bin.jar。继续连接还是不行。
头都想破了,网上资料查了一堆也没发现相关的解决方案,于是抱着试试看的心态去查看mysql的配置文件
vi /etc/mysql/my.cnf
结果发现有这么几行
-
代码:
-
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
大家看到了吧bind-address = 127.0.0.1 这一行就把连接地址给限制死了,只能本机连接。于是我把这行注释掉\
-
代码:
-
#bind-address = 127.0.0.1
#
# * Fine Tuning
#
重新启动mysql
-
代码:
-
sudo /etc/init.d/mysql restart
转载:http://apps.hi.baidu.com/share/detail/5475421