mysql数据库外部无法访问

有以下两种情况:
1、mysql未分配访问权限

格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
grant select,update,insert,delete on *.* to zhxia@'%' identified by '123456';
或者所有权限
GRANT ALL PRIVILEGES ON *.* TO zhxia@'%' IDENTIFIED BY '123456'; 
 
接着执行
 flush privileges; 使授权生效
 
最后我们还需要修改mysql的配置文件
sudo vim /etc/mysql/my. cnf
 
2、my.ini配置中未开启网络访问功能 
在旧版本中找到 skip-networking,把它注释掉就可以了 
#skip-networking

在新版本中:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
找到 :bind-address           = 127.0.0.1 这一行要注释掉
#bind-address           = 127.0.0.1
原文地址:https://www.cnblogs.com/lauhp/p/7999608.html