mysql不允许远程连接一般嘀芟苒疾有两种情况,一种是没有设置允许远程连接,一种是使用root用户连接的时候没有取消绑定监听的配置,为了能说明如何正确的远程咒邃狁廖连接mysql服务器,这里以实例为主,有两台计算机,一台是linux,安装了mysql服务器,ip地址192.168.56.102,一台是win10,作为客户机使用root用户远程访问linux机上的mysql服务器,具体可以参考以下内容。
一、无法远程访问mysql服务器
1、客户机使用的是win10,直接使用win10支持的linux子系统来进行mysql连接,首先WIN+R打开运行,输入cmd,按确定或者回车键打开命令提示符。
2、打开命令提示符后,执行bash命令,如下图所示,即可进入win10的ubuntu子系统环境。
3、然后通过mysql命令来连接远程服务器。mysql-h192.168.56饱终柯肢.102-uroo-p说明:-h:指明要访问的mysql服务器地址-u:指明登录mysql的用户名root:块吧吨翘是以root作为登录帐户。-p:需要密码验证如下图所示,我们看到连接失败了。
二、让mysql实现正常的远程连接
1、以下操作全部在mysql服务器上完成,首先找到mysql的配置文件进行编辑,需要root权限,如下图所示,通过gedit打开配置文件,通过gksu命令提升root权限。
2、打开后,搜索bind,会找到如下图所示的位置。
3、将其注释掉,即在此行最前面加一个#号,之后保存退出。
4、接下来通过service脚本重启一下mysql服务。
5、然后用mysql命令登录数据库服务器。
6、执行下面的SQL语句:grantallon*.*toroot@'挢旗扦渌;%'identifiedb烤恤鹇灭y'123456'withgrantoption;说明:%表示允许任何ip地址的计算机用root帐户和密码(123456)来访问mysql服务器。注意:这里只是为了演示,如果是真正的服务器切记加一个管理员帐户,同时root帐户一定记得不要远程访问。非要远程访问可以将上面的sql语句中的%号指明某个客户机的ip地址,这样就可以实现某个特定的客户机可以访问(这是相对稳妥的方法)。
7、然后执行flushprivileges刷新特权。
8、接下来可以通过select语句查看一下修改效果。selecthost,userfrommysql.user;如下图所示,已经修改为%(允许所有远程机访问)。
9、最后,再次在win10客户机上使用cmd中的ubuntu子环境下的mysql命令连接即可正常连接了。