如何让自己的数据库让别人远程连接
我是用root用户连接的,后面分析原因是我的mysql root用户的连接权限默认是localhost,所以外网是连接不了的。
我的分析和解决步骤:
step 1:登入mysql监视器,通过命令:
mysql -uroot -p
step 2.:根据提示输入密码
step 3: 选择mysql数据库,通过命令:
use mysql;
step 4: 通过命令:
select host,user from user;
界面如果是如下输出:
+-----------+-----------+
| host | user |
+-----------+-----------+
| localhost | mysql.sys |
| localhost | root |
+-----------+-----------+
从上面的图可以看出,root用户的可连接权限的主机范围是localhost,我这边是用来测试玩,ip不固定,所以直接给所有主机都开放权限。
step 5:修改root用户的连接权限的主机范围为任一主机,执行命令:
update user set host='%' where user='root';
step 6: 再查看root用户的连接权限:
select host,user from user;
界面会是如下输出:
+-----------+-----------+
| host | user |
+-----------+-----------+
| % | root |
| localhost | mysql.sys |
+-----------+-----------+
从图中可以看到,root用户的可连接权限的主机范围是“%”符号了,该符号说明是任一主机。
解决连接不上远程mysql数据库问题
step 7:如果修改完权限后你还是远程连接不上mysql数据库,那就是需要重启一下mysql服务器,执行命令:
systemctl restart mysqld
到此,你再通过root用户重试连接就可以了。
最后,附上例图一张: