在配置远程数据库服务器时,通常有以下几个步骤:
1、服务器上安装mysql
具体安装过程可见:
王进林:CnetOS-7 Linux安装数据库异常zhuanlan.zhihu.com2、禁用防火墙,允许外界访问
# service iptables stop
使用firewald的用户可以使用以下指令:
# service firewalld stop
我本人使用的是iptables
3、配置服务器的user表,给登录服务器权限:
使用数据库 mysql
use mysql;
先来查看下当前的用户的列表
select user,host,password from user;
可以选择里面一个root用户的localhost或者是本地地址的用户数据,我们拿来配置给远程用户使用,如果知道地址,就可以将host给改为具体ip,如果不知道,或者多个服务器需要来访问这台服务器的话,也可以直接使用通配符 “%”
mysql> update user set host="%" password="123" where host = "127.0.0.1";
(我这里是将密码改为123了,非强制,自己记得住就行)
改完后是这个样子的:
之后,我们在另外的服务器上来尝试访问这个数据库:
首先先来telnet 一下服务器主机的3306端口(提示没有这个指令的,是没有打开,搜索一下就行了)
你大概率会看到这个页面:
遗失对主机的连接
这个问题其实是由于双方采取了不同的传输协议导致的,这其实已经能够说明可以连接了。
然后我们使用指令:
mysql -h 服务器主机地址 -P 服务器主机端口(默认3306) -u root -p
尝试连接
这里-P如果没有指定,默认是本地的mysql端口,所以,如果本地myql端口和服务器mysql端口 不一致,那就要小心了。
输入后,再次查询数据库,就可以看到我们之前改过的user表了。
这里没必要担心数据库被黑掉,大部分配置的数据库是内网中,所以,除非有内鬼,嗯hhh