Linux下mysql实现远程链接

首先明白一点并非mysql禁止远程链接,而是MYSQL的帐号禁止远程链接。可能以为我有点咬文嚼字了,不过我感受分清这点仍是很重要的。默认状况下,全部帐号都是禁止远程链接的。在安装MYSQL的时候,在设置ROOT密码那里有一个CHECKBOX,选中的话就开启了ROOT的远程登录功能,默认是没被选中的。mysql

    利用:sql

       select * frommysql.usershell

  查出全部的MYSQL用户,能够发现默认状况下,这些记录的host字段的值全都是localhost,这个host字段就是表示哪些机器能够利用此帐号链接到本机的MYSQL。localhost固然就表明本机了。因此默认状况下别的机器没法链接。数据库

因此要想开启一个帐号的远程链接,只要将这个帐号所对应的host字段改为那个IP就行。
    好比:服务器

       update user set host = '192.168.230.2' whereuser='ninty';网络

    执行完此命令之后还要执行:
       flush privileges;this

来刷新全部数据库用户的权限配置信息让设置及时生效。或者重启MYSQL。server

  将ninty这个帐号的host改为192.168.230.2,这样192.168.230.2这台机器就容许经过ninty这个帐号来链接到本机的MYSQL;不过用别的帐号仍然是不行的。将ninty的host改为192.168.230.2,就只有192.168.230.2这台机器能够经过ninty这个帐号来链接到本机的MYSQL,其它的机器(包括本机)都没法进行链接。配置

   若是想将一个帐号设置成任何IP均可以登录,将host改为 % 就行;若是只能192.168.230这个网段的IP能够登录,那就将host改为:192.168.230.%date

一些常见的错误信息:

ERROR 1130 (00000):Host 'AAAAA-8HK8AISO' is not allowed to connect to this MySQL server
AAAAA-8HK8AISO应该是本机的机器名,当MYSQL服务器禁止本机使用相应的帐号链接的时候,就会暴这个错误。这时换一个容许本机去连的帐号就能够啦。

 

ERROR 1045(28000): Access denied for user 'joejoe1991'@'TQSOFT-8HK8AISO' (using password:YES)
这个错误通常就是用户名或者密码错误,这时应该是容许本机链接的, 不然报的应该是上面那个错。

 

ERROR 2003 (HY000): Can't connect to MySQL server on'192.168.230.2' (10061)
这个应该是网络方面的缘由连不到MYSQL,多是IP或者端口不对,或者服务器没有开启MYSQL或者防火墙挡住了链接 。

 

PS:Linux下安装完MySQL默认用户是没有密码的,开启远程链接以前最好将用户设上密码。

 

一个简单的方法是:

  shell命令下执行mysqladmin -u root password "密码",能够经过访问mysql数据库命令: [root@gaoke~]#mysql -uroot -p → 敲回车 输入密码进行验证。

相关文章
相关标签/搜索