可能是IP没设置好
问题:MySQL权限设置正确,但仍无法远程访问。通过telnet发现3306端口未打开。
分析:MySQL默认只绑定127.0.0.1,即:只有在本机才能访问3306端口。
解决:找到MySQL配置文件,搜索“bind-address”,找到这一行:
bind-address =127.0.0.1在前面加一个#,注释掉这一行,保存,重启MySQL。再通过远程访问就可以了,telnet可以发现端口也打开了。
例我们配置
1.确保skip-networking被删除或者屏蔽,否则不支持TCP/IP访问
2.增加行bind-address=65.55.55.2,替代65.55.55.2为你的服务器地址
修改后,配置为:
代码如下:
[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
language=/usr/share/mysql/English
bind-address=65.55.55.2
#skip-networking
….
..
保存并关闭配置文件
重启mysql服务器:#/etc/init.d/mysqlrestart
如果上面办法没有用我们可以通用mysql命令模式进行设置
1。改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改”mysql”数据库里的”user”表里的”host”项,从”localhost”改称”%”
代码如下:
CODE:mysql-uroot-p123
mysql>usemysql;
mysql>updateusersethost=’%’whereuser=’root’;
mysql>selecthost,userfromuser;
2.授权法。
例如,你想kevin使用mypassword从任何主机连接到mysql服务器的话。
代码如下:GRANTALLPRIVILEGESON*.*TO’kevin’@’%’IDENTIFIEDBY’mypassword’WITHGRANTOPTION;
如果你想允许用户kevin从ip为192.168.101.234的主机连接到mysql服务器,并使用mypassword作为密码
代码如下:
GRANTALLPRIVILEGESON*.*TO’kevin’@’192.168.101.234’IDENTIFIEDBY’mypassword’WITHGRANTOPTION;
注意了,如果是linux系统防火墙也很重要哦
代码如下:
/*关闭防火墙*/
serviceiptablesstop
/*开启防火墙*/
serviceiptablesstart
/*默认关闭防火墙*/
chkconfigiptablesoff
您可能感兴趣的文章:MySQL远程访问设置终极方法MySQL数据库设置远程访问权限方法小结mysql数据库远程访问设置方法mysql设置指定ip远程访问连接实例MySQL数据库远程访问权限如何打开(两种方法)禁止mysql做域名解析(解决远程访问mysql时很慢)mysql解决远程不能访问的二种方法MySQL不允许从远程访问的解决方法远程访问MySQL数据库的方法小结一步步教你配置MySQL远程访问
MySQL计划任务(事件调度器) Event Scheduler介绍
MySQL数据库设置远程访问权限方法小结
上述就是数据库技术:mysql设置远程访问数据库的多种方法分享的全部内容,如果对大家有所用处且需要了解更多关于mysql数据库学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/dtteaching/910907.html