前言
为了安全,mysql的root用户只本机登录,不对外网进行授权访问,此时可通过SSH隧道连接mysql数据库。以下为配置Mysql SSH隧道连接的基本步骤。
下面话不多说了,来一起看看详细的步骤吧
删除远程登录
登录mysql:
1
|
mysql -uroot -p |
查看用户开放的访问权限:
1
|
select user , host from mysql. user ; |
删除不需要的访问权限,比如:
1
2
|
delete from mysql. user where user = 'root' and host= '%' ; flush privileges ; |
再次查询,核实是否删除成功。
建立隧道
服务器的登录可通过用户名密码和RSA秘钥两种方式,建议使用RAS秘钥形式,将本机的id_rsa.pub内容放置于服务器的~/.ssh/authorized_keys中,具体怎么生成RSA秘钥,不在这里赘述。
单独开一个窗口,修改以下命令对应的ip和端口并执行:
1
|
ssh -NCPf root@192.168.99.52 -L 3388:127.0.0.1:3306 |
参数解释:
- C 使用压缩功能,是可选的,加快速度。
- P 用一个非特权端口进行出去的连接。
- f SSH完成认证并建立port forwarding后转入后台运行。
- N 不执行远程命令。该参数在只打开转发端口时很有用(V2版本SSH支持)
root@192.168.99.52是登陆mysql服务器的SSH用户名和IP地址。-L 3388:127.0.0.1:3306表示在本机开放3388端口到mysql服务器的127.0.0.1:3306端口的映射。其中127.0.0.1也可以是mysql所在服务器的内网ip或外网ip。
然后,通过mysql工具,输入对应的用户名密码,即可登录。注意登录时,选择的host地址为localhost或127.0.0.1。同时,在mysql数据库中开放对应ip的访问权限。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。
原文链接:http://www.choupangxia.com/topic/detail/168