宝塔安装的数据库外网无法访问

688 阅读2分钟

项目场景:

阿里云的服务器买完后,开启3306端口号,搭建宝塔的环境,安装了mysql,但是外网navcat一直无法访问


问题描述:

阿里云的服务器买完后,开启3306端口号,搭建宝塔的环境,安装了mysql,但是外网navcat一直无法访问

原因分析:

1.mysql权限没有配置 2.宝塔权限配置容许所有人 3.宝塔安全端口号


解决方案:

1、登陆mysql数据库

mysql -u root -p

查看user表

mysql> use mysql;
Database changed
mysql> select host,user,password from user;
±-------------±-----±------------------------------------------+
| host | user | password |
±-------------±-----±------------------------------------------+
| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
±-------------±-----±------------------------------------------+
2 rows in set (0.00 sec)

可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

(1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。

2、实现远程连接(授权法)

将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;

将权限改为ALL PRIVILEGES

mysql> use mysql;
Database changed
mysql> grant all privileges on . to root@’%’ identified by “password”;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;
±-------------±-----±------------------------------------------+
| host | user | password |
±-------------±-----±------------------------------------------+
| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
±-------------±-----±------------------------------------------+
3 rows in set (0.00 sec)

这样机器就可以以用户名root密码root远程访问该机器上的MySql.

3、实现远程连接(改表法)

use mysql;

update user set host = ‘%’ where user = ‘root’;

在这里插入图片描述
在这里插入图片描述

写在最后,感谢点赞关注收藏转发

欢迎关注我的微信公众号 【猿之村】
在这里插入图片描述

来聊聊Java面试
加我的微信进一步交流和学习,微信手动搜索
【codeyuanzhicunup】添加即可
如有相关技术问题欢迎留言探讨,公众号主要用于技术分享,包括常见面试题剖析、以及源码解读、微服务框架、技术热点等。