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,问题解决了,一个小问题,追本溯源还是有很多知识的,特此记录。