有没有办法将一台没有 root 权限的服务器上的 mysql 数据库同步到另一台服务器?

2015-04-06 18:54:34 +08:00
 gdtv

服务器A没有操作系统root权限,不能登录SSH,有mysql的root账号,有phpmyadmin管理地址,数据库大小2G,数据库不能远程连接,上面运行着apache+php+mysql。
服务器B有所有权限。
A和B不在同一个机房。
有没有办法快速,注意要快速,将A数据库转移,或者备份、同步到B上面?要求10分钟内完成。

2355 次点击
所在节点    问与答
25 条回复
msg7086
2015-04-06 18:56:56 +08:00
mysql账号能从隔壁机器登录吗
如果不能的话,那唯一的访问途径就只有php了。弄个webshell?不行就只能硬搞了。
gdtv
2015-04-06 18:58:23 +08:00
@msg7086 不能从隔壁机登录A服务器上的mysql,因为A服务器的iptables没有开启3306端口。
msg7086
2015-04-06 19:00:33 +08:00
那b上开个浏览器导出保存呗。
ETiV
2015-04-06 20:21:22 +08:00
没记错的话 phpMyAdmin 有一个远程同步的功能, 几年前同步本地和线上数据表结构用过~

你在A上创建 A,B 两个 MySQL的服务器的登录, 然后通过这个同步的功能直接从A上同步到B上.

只需要B上安装MySQL, 和开放 3306 (MySQL和iptables, 记得指定A的IP), B上不需要安装 php/web, phpMyAdmin.
kn007
2015-04-06 20:22:36 +08:00
@ETiV mark
esile
2015-04-06 21:49:08 +08:00
只能用帝国备份之类的php程序先导出来,你应该有ftp权限的吧。
gdtv
2015-04-06 22:39:23 +08:00
@ETiV 找了一晚你说的这个同步功能,最后找到一句说明: “This feature has been removed as of phpMyAdmin 4.0.0. It had many shortcomings.” 晕死。
gdtv
2015-04-06 22:41:49 +08:00
@esile 现在就是用帝国备份,但太慢了
alex321
2015-04-06 22:42:42 +08:00
B 上安装 phpMyAdmin,root 连接 A,导出;连接 B,恢复 A 的导出数据到 B。
gdtv
2015-04-06 22:44:46 +08:00
@alex321 2G的数据库太大了,phpmyadmin无法导出
gdtv
2015-04-06 22:45:35 +08:00
@alex321 2G的数据库太大了,phpmyadmin无法导出,另外A的mysql数据库不支持远程连接
yangqi
2015-04-06 22:57:17 +08:00
A服务器不能ssh? 不需要root, 只要能ssh上,方法还是很多的,mysqldump可以导出数据
Puteulanus
2015-04-06 22:58:28 +08:00
参考下多备份的数据库备份程序吧。。PHP的
针对PHP空间不能远程连接的数据库进行远程备份,应用场景和你基本一样
alex321
2015-04-06 23:07:37 +08:00
@gdtv sorry,我没仔细看你的场景。。为毛会有这么奇怪的限制。
本来允许 ssh 还可以 mysqldump 什么的玩一下,现在就只能利用 php 程序处理了。
ETiV
2015-04-06 23:31:48 +08:00
remove了的话,你在B上装phpmyadmin4.0以前的版本?
kookxiang
2015-04-07 10:44:03 +08:00
mysqldump可以用不?dump然后加密压缩放web服务里,另一台直接wget解压
gdtv
2015-04-07 13:46:13 +08:00
@ETiV 在B装了个旧版本的phpmyadmin试了远程同步,显示同步完成,但只同步了一部分表,还有一些没同步,可能就是所谓的"It had many shortcomings"吧。。。。
gdtv
2015-04-07 13:46:50 +08:00
@kookxiang mysqldump是要登录系统操作吧,现在是登录不了
kookxiang
2015-04-07 14:37:19 +08:00
@gdtv 有mysql的root就能调用吧,实在不行用php导出吧
ETiV
2015-04-07 14:55:07 +08:00
显示同步完成,但只同步了一部分表.
是不是超过了 PHP 的最大执行时间? 或者最大执行内存的限制. 在B上临时调大一些, 等下记得调回去.

还有一些没同步
把没同步的单独选中重新跑一次呗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/181928

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX