mysql远程连接只显示部分数据库问题

项目变更了环境,数据库换了环境,所以用navicat连接数据库,结果只能看到部分数据库。

看下高级设置,就只有两个库。

表示很奇怪,难道我的ip被禁止了吗,进入服务器查看连接用户权限

1. 首先查看服务器先能看到的数据库

mysql> show databases;

2. 看看此数据库用户和对应ip情况

mysql> select host,user from mysql.user;

3. 查看当前用户

mysql> select current_user();

4. 查看当前用户权限

mysql> show grants from current_user();

我们再查看huohe用户对远程主机的授权。

嗯...,Usage权限是什么呢,问下度娘的答案如下:

综上所述,huohe只有对localhost有所有访问权限。那么我们开始只看到部分数据库的原因就明了了,huohe没有对远程连接的权限。

5. 新建一个用户

mysql> create user 'haha'@'%' identified by 'password';

6. 授予权限

mysql> grant all privileges on *.* to 'haha'@'%' identified by 'password' with grant option;

7. 撤销授权(这不是步骤之一,只是记录下命令)

mysql> revoke all privileges on *.* from 'cuihe'@'%';

8. 登入新用户看看权限吧

 

用这个用户远程登录mysql就可正常使用

嗯,还有就是经过公司前辈的介绍,navicat等远程工具都可以通过ssh然后本地连接mysql啦,突然觉得自己好low啊,菜鸟的身份暴露了,也记录下吧

1. 首先,通过ssh选项卡连接远程服务器

2. 然后,就可以像本地一样连接mysql了,怎么样,神奇吧!!!

now,问题解决了,一个小问题,追本溯源还是有很多知识的,特此记录。

原文地址:https://www.cnblogs.com/gengsc/p/6905536.html