SSH隧道:如何访问部署在Google Cloud上的Bitnami的WordPress的mysql?
之前,在Google cloud上部署了bitnami的Wordpress。数据的备份一直用Wordpress的插件。现在,因为数据量比较大,用插件备份挺麻烦的,所以,就想直接连接数据库来备份。
1、创建密钥
在本地创建一个密钥(我用的mac),命令如下:
ssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAME
这个命令会在本地的.ssh目录下建一个两个密钥文件,一个公钥,一个私钥。
其中,KEY_FILENAME是密钥文件的名称,USERNAME是密钥文件的用户名。
随意设定,也可以想同。
执行这个命令后,会提示输入密码,这个密码是密钥的访问密码,可以不设置,直接回车。
如果设置了密码,在每次使用密钥的时候都要输入这个密码,如果没有设置密码,就不用输入了。
命令执行后,会在“~/.ssh/”目录下生成两个文件,一个是KEY_FILENAME(私钥),另一个是KEY_FILENAME.pub(公钥)
2、Google cloud上的设置
在Google cloud上找到相应的虚拟机实例,点击“修改”,在密钥部分,添加一个密钥,把刚刚生成的公钥(字符串)复制进去,点击“保存”,即可。
3、创建SSH隧道
执行以下命令:
ssh -N -L SOURCE-PORT:127.0.0.1:DESTINATION-PORT -i KEYFILE USERNAME@SERVER-IP
替换:
SOURCE-PORT:本地的端口,比如3306
DESTINATION-PORT:服务器的端口,一般是3306
KEYFILE:本地私钥路径,比如:~/.ssh/xxx
USERNAME:生成密钥时,所用的USERNAME
SERVER-IP:服务器IP
隧道创建成功后,没有任何提示。断开之后会有提示。
4、连接mysql数据库
随便用一个数据库管理的客户端,做如下配置:
Host:127.0.0.1,注意不是服务器的IP
UserName:mysql的用户名,看Wordpress的wp-config文件
Password:Mysql的密码,看wp-config文件
Database:mysql数据库名,看wp-config文件
port:3306
5、总结
记录一下,以备不时之需。