使用 phpMyAdmin 同步 MySQL 远程和本地数据库
Posted
技术标签:
【中文标题】使用 phpMyAdmin 同步 MySQL 远程和本地数据库【英文标题】:Synchronize MySQL remote & local database using phpMyAdmin 【发布时间】:2013-01-17 15:54:23 【问题描述】:我有本地 mysql 数据库,它偶尔会发生变化,当它发生变化时,我想将它与远程数据库同步。我正在使用 phpMyAdmin 的同步选项。
我已授予所有 IP 远程连接的权限。
问题: 当我想使用 PhpMyAdmin 的同步选项将远程数据库与本地数据库同步时。它只显示了数据库结构的差异,但两个数据库上的数据也不同,但没有显示出这种差异。
当我通过单击Synchronize Database
按钮同步数据库并再次进行同步时。它再次显示相同的结构同步。
见下图
如果有人对此有替代解决方案,请同时告知。 当地详情 操作系统:Windows7 软件:EasyPHP12.0 远程详细信息 服务器:Linux Cpanel PhpMyAdmin
【问题讨论】:
正在尝试连接和管理远程 MySQL? 是的,我想将远程连接到本地 Google 搜索 MySQL 复制。 我知道复制。我正在使用共享主机,我的远程 PhpMyAdmin 上没有复制选项 你可以查看这篇文章,这可能对你有帮助:***.com/questions/8984517/… 【参考方案1】:打开phpMyAdmin/config.inc.php
并添加关于“服务器配置”的这些行。
$i++;
$cfg['Servers'][$i]['host'] = '<remote-server-address>'; // Remote MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['compress'] = FALSE; // Use compressed protocol for the MySQL connection
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = '<db-username>'; // Remote MySQL user
$cfg['Servers'][$i]['password'] = '<db-password>'; // Remote MySQL password
现在您的 phpMyAdmin 首页上有一个“服务器”下拉菜单。选择你的服务器和宾果游戏!
致谢:codejourneymen
而且,还有很多例子,也许有帮助:
phpadmin remote database
【讨论】:
这很好。但是如果那里不存在,我想将本地数据库中的记录添加到远程数据库。 按照上面的说明连接远程服务器后,可以使用phpMyAdmin界面进行操作。【参考方案2】:我的回答与 PhpMyAdmin 无关,但无论如何,让我在 dbForge Studio for MySQL 中向您推荐Schema/Data comparison tools。这些工具将帮助您查找、查看差异并同步两个数据库。
如果您无权访问远程数据库,那么您可以使用 HTTP 隧道连接,或者使用 SSL/SSH 安全连接。
【讨论】:
【参考方案3】:尝试使用 SQLyog 作业代理 (SJA) 在 Windows 上,它与屡获殊荣的 MySQL GUI SQLyog 一起使用。 SJA的Linux版本是免费的,可以从webyog.com下载
Check here
【讨论】:
我不想使用这些第三方工具。我想先用 PHP 代码同步。 “免费”社区版不提供同步工具!【参考方案4】:在创建表格时,我会让远程服务器使用偶数并让本地服务器添加奇数以自动递增。 然后有一个脚本可以在服务器之间拉取或推送数据,而不会出现任何重复问题。
【讨论】:
【参考方案5】:我不明白您为什么不直接更新遥控器并完全放弃本地数据库。建议:您可能需要设置两个遥控器 - 例如:dev.domain.com、www.domain.com。将本地代码链接到开发并更新/测试,然后当您想投入生产时,只需将数据转储到 www DB 上。当本地数据库出现故障时,安全和备用准备就绪。
【讨论】:
以上是关于使用 phpMyAdmin 同步 MySQL 远程和本地数据库的主要内容,如果未能解决你的问题,请参考以下文章
Wamp MySQL PhpMyAdmin 远程访问配置问题