关于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) 要注意哦,很容易出错,而且不一定马上想到是这个错误。