远程连接MySQL

VMware中跑了Linux,并装了MySQL,在外面用DBVisulizer访问时发生若干问题:
1.在DBVisulizer中配置好Mysql的连接后,点击connect,报出以下错误:
An error occurred while establishing the connection:

Long Message:
Access denied for user 'root'@'192.168.1.2' to database 'mysql'

Details:
   Type: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
   Error Code: 1044
   SQL State: 42000
在网上搜索解决问题办法,原来是没有为访问MySql的IP授权,所以192.168.1.2该IP地址不进访问数据库。
 利用grant为IP地址授权,使其能顺利访问数据库:
  语法:grant 权限 on 数据库对象 to 用户
  例: grant all on *.* to root@'192.168.1.2' identified by 'abcdefg';
2. 解决此问题后,本以为可以顺利连接数据库了,结果又有新情况了。。。
Long Message:
Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Details:
   Type: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
   SQL State: 08S01
老办法,google之,开始把问题定位在超时,但网上说的情况与我的不同,果断换方向。
Conmmunications link failure 说的是连接错误,这种问题,要从以下几个方面考虑:
1.MySQL服务是否启动?
2.MySQL所处机器防火墙是否关闭?
3.检查代码,包括URL,用户名,密码,等是否写错。
果断发现防火墙没有关闭。service iptables stop;
这次终于连结成功了。  
Tips:
  1.在填写URL时,MySQL的默认端口号:3306,为了确认,可以用命令查看:
  mysql> show variables like 'port';
    2.查看MySql服务是否正在运行:
  查看mysql服务状态:service mysql status;
  启动mysql服务:service mysql start;
  停止mysql服务:service mysql stop;


 

你可能感兴趣的:(mysql)