如何将WordPress与MySQL Workbench连接的WP Engine远程数据库关联?
嘿,我完全懂你现在的困扰——直接把WP Engine数据库的公网IP填进wp-config后,本地WordPress加载慢得让人崩溃,但MySQL Workbench却能顺畅连接,就是摸不清怎么让WP复用这个高效的连接方式对吧?
其实核心原因很简单:你用MySQL Workbench连接时,默认走的是SSH隧道,而直接填IP是公网直连,WP Engine的数据库出于安全和网络优化考虑,对公网直连做了限制,所以速度差这么多。下面我给你一步步拆解怎么配置:
第一步:先扒出MySQL Workbench的SSH隧道配置细节
先打开你已经建好的WP Engine连接,把关键信息记下来:
- 打开Workbench,找到那个能正常连接的WP Engine数据库连接,右键选「Edit Connection」
- 切到「SSH」标签页,记下这几个关键项:
- SSH Hostname:WP Engine给你的SSH服务器地址(格式一般是
xxx.ssh.wpengine.net) - SSH Username:你的WP Engine SSH登录用户名
- 验证方式:是用密码还是SSH密钥?如果是密钥,记下密钥文件的本地路径
- MySQL Hostname:通常是
127.0.0.1(这是SSH服务器端映射的数据库本地地址) - MySQL Server Port:远程数据库的端口,一般是3306
- SSH Hostname:WP Engine给你的SSH服务器地址(格式一般是
第二步:在本地建立持久化的SSH隧道
MySQL Workbench的隧道是临时的,关掉Workbench就断了,所以得建一个长期运行的隧道,让WordPress能一直用:
方法1:命令行快速搭建(适合爱折腾的同学)
打开终端(Mac/Linux)或者Git Bash(Windows),运行这条命令:
# 用密码验证的版本 ssh -L 3307:127.0.0.1:3306 your_ssh_username@your_ssh_hostname # 如果用SSH密钥的话,加上-i参数指定密钥路径 ssh -i /path/to/your/private/key -L 3307:127.0.0.1:3306 your_ssh_username@your_ssh_hostname
解释下参数:
3307:本地的端口号(随便选一个没被占用的就行,比如3308、3309都可以)127.0.0.1:3306:这是SSH服务器那边指向数据库的地址和端口(就是你刚才从Workbench里记下的MySQL Hostname和Port)- 运行后输入SSH密码(用密钥的话不用输),隧道就建立好了,别关掉这个终端窗口哦
方法2:图形化工具搭建(怕命令行的同学看这里)
不想敲命令的话,用这些工具更省心:
- Windows用户:用PuTTY。新建一个Session,填好SSH主机名,然后到「Connection > SSH > Tunnels」,添加转发规则:源端口填3307,目标填
127.0.0.1:3306,点「Add」,保存Session后登录,隧道就一直运行了 - Mac用户:用Tunnelblick。新建一个SSH配置文件,把端口转发规则加进去,设置开机自动启动,以后打开电脑隧道就自动跑了
第三步:修改wp-config.php,让WP连本地隧道
现在隧道已经把远程数据库映射到本地的3307端口了,修改本地WordPress的wp-config.php:
/** 数据库名称 */ define( 'DB_NAME', '你的WP Engine数据库名' ); /** 数据库用户名 */ define( 'DB_USER', '你的WP Engine数据库用户名' ); /** 数据库密码 */ define( 'DB_PASSWORD', '你的WP Engine数据库密码' ); /** 数据库主机——重点改这里! */ define( 'DB_HOST', '127.0.0.1:3307' ); // 填你刚才设置的本地隧道端口 /** 数据库字符集 */ define( 'DB_CHARSET', 'utf8' ); /** 数据库排序规则,不懂就别动 */ define( 'DB_COLLATE', '' );
划重点:DB_NAME、DB_USER、DB_PASSWORD还是WP Engine给你的数据库信息,只是DB_HOST改成了本地隧道的地址+端口。
第四步:测试效果
启动你的本地WP环境(比如XAMPP、Local、WAMP),访问网站,应该就能像Workbench那样快速加载了,再也不用等三四十秒啦!
额外小提示
- 如果遇到连接失败,先检查隧道是否正常:用MySQL Workbench连接
127.0.0.1:3307,如果能连上,说明隧道没问题,再检查wp-config的拼写 - 要是想让隧道开机自动跑,可以把命令行命令加到系统启动项,或者用图形化工具的自动启动功能
- 别选被占用的本地端口,比如3306可能被本地MySQL占用,所以选3307这类就行
内容的提问来源于stack exchange,提问作者user9165931
相关产品推荐
相关产品推荐

