应用场景:
服务器端程序异常,需要在本地搭建测试环境,并将服务器上的数据库同步到本地测试环境。
遇到的问题:
navicat 备份的时候,会根据操作系统不同,生成不同的备份文件。所以由服务器复制下来的备份文件,不能够在本地的 MACOS 上直接还原。
解决方案:
在本地的其它 windows 电脑上,将备份的数据还原到 MACOS 上。
实施步骤:
安装 nginx
使用 nginx 进行反向代理,将本地的 3306 端口映射到 3305 端口。
配置如下:
http {
# xxx
}
stream {
upstream mysql {
hash $remote_addr consistent;
server 127.0.0.1:3306 max_fails=3 fail_timeout=30s;
}
server {
listen 3305;
proxy_connect_timeout 30s;
proxy_timeout 600s;
proxy_pass mysql;
}
}
此时,我们使用与 macos 处于同一个局域网的电脑,打开 navicat,设置访问的地址为 MACOS 电脑 IP,端口设置为 3305,即可访问。当然也可以使用 navicat 的还原功能,来快速还原数据库了。