Mysql开启外连

mysql默认

的端口是3306,需要确定防火墙没有阻止3306端口,否则是无法通过3306端口连接到myql的。
这里就拿华为云的服务器来说明下,通过命令:netstat -ano |find “3306” 可以看到TCP是0.0.0.0:3306说明当前的连接只是针对服务器本身的,此时是未开启外连的,也就是说其他处于公网的ip无法通过mysql -h114.116.30.20 -uroot -p连接到当前数据库。
在这里插入图片描述
首先用root账号登录MySql,通过cmd的方式登录,输入下面的命令:

grant all PRIVILEGES on *.* to root@'%' identified by '123456';
flush privileges;

这里的语句表示将所有数据库下的所有表授权给root,并且运行root用户在所以IP上进行远程登录,并设置root的密码为123456。
面逐一分析所有的参数:

all PRIVILEGES:表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop*.*:对于全部数据库的全部 表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。
root:表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。
'%':表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。
123456:为用户的密码。

最后执行flush privileges;即可
此时在服务器中通过netstat -ano |find “3306” 查看连接状态 就可以看到其他ip的连接。
在这里插入图片描述

发布了23 篇原创文章 · 获赞 30 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/cj_Allen/article/details/104107013