使用 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 远程访问配置问题

如何使用phpmyadmin管理mysql数据库

怎么用phpmyadmin连接远程MYSQL数据库?

我无法通过本地 phpmyadmin 访问远程 mysql 服务器

如何用phpmyadmin导入大容量.sql文件

使用 mamp、phpMyAdmin 导入 mysql 数据库