mysql怎么连接wpf mysql怎么连接到我的sql主机( 三 )


| root| localhost|
+-------+---------------+
1 rows in set (0.00 sec)
mysql
关于user值为root的记录数只有一条,且host值为localhost , 说明root用户只能在本地访问数据库 。
处理 :进行root用户的远程访问授权 , 可以授权到指定的客户端IP,也可以授权为所有IP都可访问(host值为%) 。
授权为所有IP都使用用户root,密码root , 来远程访问数据库
mysql GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql flush privileges;
Query OK, 0 rows affected (0.00 sec)
再次进行授权的查询
mysql show grants for 'root'@'%';
+--------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@%|
+--------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' WITH GRANT OPTION |
+--------------------------------------------------------------------------------------------------------------------------------+
【mysql怎么连接wpf mysql怎么连接到我的sql主机】1 row in set (0.00 sec)
再次查询授权表记录
mysql select user,host,password from mysql.user;
+-------+---------------+-------------------------------------------+
| user| host| password|
+-------+---------------+-------------------------------------------+
| root| localhost| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root| %| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-------+---------------+-------------------------------------------+
2 rows in set (0.00 sec)
mysql
原因3 : 用户账号授权访问的密码不正确
检查 :以管理员ROOT登录后 ,  select user,host,passwordfrom mysql.user;
mysql select user,host,password from mysql.user;
+-------+---------------+-------------------------------------------+
| user| host| password|
+-------+---------------+-------------------------------------------+
| root| localhost| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root| %| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| jtsec | 192.168.8.123 ||
| jtsec | 192.168.8.123 | *0B4AB716B6BE11F89101577836F3016D8EEAA217 |
+-------+---------------+-------------------------------------------+
4 rows in set (0.00 sec)
mysql
根据查询结果可以看出来 , root账户的本地访问和远程访问密码一样 。
而jtse账户在192.168.8.123这个IP上,远程访问数据库的密码有两个 , 其中一个为空(第三条记录) 。
也就是说在IP为192.168.8.123的客户机上,使用jtsec这个账户远程访问数据库 , 合法的密码有两个可以选择:
一个是不输入密码(密码为空),另一个是*0B4AB716B6BE11F89101577836F3016D8EEAA217(经过加密的),
其余的输入,都是错的 。
处理 :使用正确的访问密码进行访问即可 。
错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.8.88' (10065)
原因:MySQL服务器上防火墙的阻断
检查 :在Linux下查看iptables规则,看是否未对MySQL数据库默认通信端口3306进行放行
处理 :
添加相应的放行规则
自己在/etc/sysconfig/iptables里加了一下代码:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
或尝试关掉防火墙
chkconfig ip6tables off
chkconfig iptables off
问题描述:
C:\Documents and Settings\Administratormysql -uroot -h 192.168.8.88 -proot

推荐阅读