关于Mysql远程访问的文章比较多,大部分都是以设置MYsql为主。本人在Windows xp上使用Mysql 5.1.40

下面说说如何设置远程访问主要分两步吧

第一步
设置Mysq可以远程访问,方法很多比说如
设置mysql方法1.

更改mysql.user的host属性为%

mysql>use mysql; 

 mysql>update user set host='%' where user='root'(可以换成其他用户) 

 mysql>flush privileges;


使用用户root密码(password)访问数据库

设置mysql方法2.
新建mysql用户

mysql>grant all privileges on *.* to 'highill'@'%' identified by 'highill' with grant option; 

 mysql>flush privileges;


这是 用户highill密码highill可以远程问问数据库

设置mysql方法3
可参考其他文章
开启Mysql远程访问
http://zdeming.iteye.com/blog/481223
[MYSQL] 创建远程登陆用户并授权
http://www.iteye.com/topic/619094

Mysql授权
http://www.iteye.com/forums/46/topics/new

关于MYsql设置文行有很多,大家也可以去网上多看看

第二步
比较关键的一步,这一步和MYsql关系不是特别大了,和操作系统有关,一般文章都没有介绍。
所以我特此在这里用新人贴说明

Windows xp的防火墙会阻止一直端口


1.双击右下角的网络连接
2.单击【属性】按钮
3.选择【高级】选项卡
4.点击【设置】按钮进入,windows 防火墙设置
5.在【常规】【例外】【高级】选项卡中选择【例外】
6.选择添加端口
名称:Mysql
端口:3306(MYsql服务端口)
默认为TCP连接

好了,端口添加完成后,就可以通过远程访问了
访问的方式是
进入cmd命令
D:\>mysql -h188.188.188.188 -uhighill -phighill
具体各式说明,网上很多资料,就不详细说了

总结一下,有两部,第一步设置Mysql,第二部设置操作系统
(我把Mysql中的 my.ini找了很久也没有到设置为本机访问的字段

bind-address = ipaddr  MySQL服务器的IP地址。)

开启mysql远程连接功能



1、进入mysql,创建一个新用户xuys:

    格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
grant select,update,insert,delete on *.* to xuys@192.168.88.234 identified by "xuys1234";
  
    查看结果,执行:

use mysql;
    select host,user,password from user;


  
    可以看到在user表中已有刚才创建的xuys用户。host字段表示登录的主机,其值可以用IP,也可用

主机名,
  
    将host字段的值改为%就表示在任何客户端机器上能以xuys用户登录到mysql服务器,建议在开发时

设为%。  
 

update user set host = ’%’ where user = ’xuys’;
2、 ./mysqladmin -uroot -ppwd reload
 ./mysqladmin -uroot -ppwd shutdown3、./mysqld_safe --user=root &

    记住:对授权表的任何修改都需要重新reload,即执行第3步。

    如果经过以上3个步骤还是无法从客户端连接,请执行以下操作,在mysql数据库的db表中插入一条记录


use mysql;
 insert into db values(’192.168.88.234’,’%’,’xuys’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
 update db set host = ’%’ where user = ’xuys’;

    重复执行上面的第2、3步。



用IDE工具更方便,在EMS MySQL中,可以添加一个可以远程访问的用户就可以了,添加时,主机填%就可以了,然后选择下面的权限列表,如图:

转摘自:http://laies.iteye.com/blog/139885

MySQ远程连接命令



MySQL的命令也是不好记,好容易乱,而且想登录服务器默认是不可能的,要在服务器上授权给所想登录机的IP。看看命令 mysql> grant all privileges on *.* to root@"%" identified by '0123456789' with grant option; 上面的命令创建一个可以从任意机器以root登录的超级账号,登录密码是0123456789。这样,客户机就可以使用方便的图形工具进行登录和操作,包括修改root的口令。不过,有点要说明下,我这里也犯了个错,因为MySQL默认的用户,而且也是超级权限用户是root,所以运行的时候也要是在root登录模式下的,要不就会报错。 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO) 要注意哦,很容易出错,而且不一定马上想到是这个错误。