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

Posted 叶落之秋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,问题解决了,一个小问题,追本溯源还是有很多知识的,特此记录。

以上是关于mysql远程连接只显示部分数据库问题的主要内容,如果未能解决你的问题,请参考以下文章

无法远程连接Mysql数据库

mysql 远程连接超时解决办法

使用navicat连接远程linux的mysql中文显示乱码的问题

mysql如何开启远程连接权限

linux 下解决mysql root 权限无法远程连接问题

求用jdbc 连接数据库的java代码(只连接部分即可)