【转】 远程连接mysql

转自:http://www.linuxidc.com/Linux/2013-05/84813.htm

1.确认能ping通

2.确认端口能telnet通。如果user表的host值是localhost,也会远程telnet3306失败,需要先修改。

3.【错误2003】:

  该错误是由于MySQL的配置中打开了IP绑定,只允许本机(127.0.0.1)访问,所以需要修改配置。

sudo vi /etc/mysql/my.cnf (该文件可能引入了其他文件,因此bind-address也可能在其他文件下的配置文件内)

  找到bind-address = 127.0.0.1这一行,将其注释
  保存退出,重启MySQL服务

4.【错误1130】:
  该错误是由于远程登陆时所使用的账号没有授权在当前IP登陆,说白了就是每个账号都有一个或者多个允许登陆的IP,例如root账号默认就有localhost和127.0.0.1,但是远

  程机器的IP没有被允许,所以这里要给使用的账号添加该IP登陆的权限

  首先看看这个账号有哪些IP登陆的权限
  终端下登陆mysql 输入mysql -u root -p 输入密码

  登陆成功后输入命令:

    use mysql;
    select Host from user where user='root';

查询结果将列出用户root允许登陆的IP,当前远程机报错1130,就是因为其IP不被允许。所以为了远程登陆,有两种选择,第一种选择是将远程机的IP加入,第二种选择是直接加入一个任意IP(%号),任何远程地址都可以访问,看需求而定

加入方法:
因为复制一整条记录的语句太长,很麻烦,所以干脆把localhost和127.0.0.1其中一个改为需要放行的地址
例如:

update user set Host='%' where Host='127.0.01';

这样就将host=127.0.0.1的这条记录的host改为%(代表任意ip)

flush privileges; #刷新权限

重启MYSQL服务

posted @ 2017-06-06 17:26  涛涛taotao  阅读(231)  评论(0编辑  收藏  举报