无法远程连接 mysql(Ubuntu)

现象:可以通过服务器本身部署的phpMyadmin访问到mysql,但是无法通过telnet之类的远程连接。

可能的问题:
1.数据库没有公网
2.IPtable规则中去掉了3306
    执行下 iptables -L 命令,iptables这个是linux本机的防火墙命令
    

如果对3306端口进行了限制,这里面就应该有3306

3.数据库监听在了127.0.0.1
   使用netstat -an|grep 3306,输出: tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 

  说明3306只绑定了127.0.0.1 

  首先修改vi /etc/mysql/my.cnf 将bind-address = 127.0.0.1注释掉 

  然后重启mysql,/etc/init.d/mysql restart

4.访问的账户没有被授权
  mysql好像是默认只能本地访问,需要开放远程访问权限其他ip地址的机器才能访问它
 

为需要远程登录的用户赋予权限
1、新建用户远程连接mysql数据库
grant all on *.* to admin@'%' identified by '123456' with grant option; 
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。

2、支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;


查看系统用户



最后,如果输入,就可以登录了成功了

mysql -h IP地址  -P 3306 -u 用户名 -p 数据库名 

猜你喜欢

转载自blog.csdn.net/u013288190/article/details/87905062
今日推荐