服务器A没有操作系统root权限,不能登录SSH,有mysql的root账号,有phpmyadmin管理地址,数据库大小2G,数据库不能远程连接,上面运行着apache+php+mysql。
服务器B有所有权限。
A和B不在同一个机房。
有没有办法快速,注意要快速,将A数据库转移,或者备份、同步到B上面?要求10分钟内完成。
1
msg7086 2015-04-06 18:56:56 +08:00 via iPhone 1
mysql账号能从隔壁机器登录吗
如果不能的话,那唯一的访问途径就只有php了。弄个webshell?不行就只能硬搞了。 |
3
msg7086 2015-04-06 19:00:33 +08:00 via iPhone
那b上开个浏览器导出保存呗。
|
4
ETiV 2015-04-06 20:21:22 +08:00 2
没记错的话 phpMyAdmin 有一个远程同步的功能, 几年前同步本地和线上数据表结构用过~
你在A上创建 A,B 两个 MySQL的服务器的登录, 然后通过这个同步的功能直接从A上同步到B上. 只需要B上安装MySQL, 和开放 3306 (MySQL和iptables, 记得指定A的IP), B上不需要安装 php/web, phpMyAdmin. |
6
esile 2015-04-06 21:49:08 +08:00 1
只能用帝国备份之类的php程序先导出来,你应该有ftp权限的吧。
|
7
gdtv OP @ETiV 找了一晚你说的这个同步功能,最后找到一句说明: “This feature has been removed as of phpMyAdmin 4.0.0. It had many shortcomings.” 晕死。
|
9
alex321 2015-04-06 22:42:42 +08:00 1
B 上安装 phpMyAdmin,root 连接 A,导出;连接 B,恢复 A 的导出数据到 B。
|
12
yangqi 2015-04-06 22:57:17 +08:00
A服务器不能ssh? 不需要root, 只要能ssh上,方法还是很多的,mysqldump可以导出数据
|
13
Puteulanus 2015-04-06 22:58:28 +08:00 1
参考下多备份的数据库备份程序吧。。PHP的
针对PHP空间不能远程连接的数据库进行远程备份,应用场景和你基本一样 |
14
alex321 2015-04-06 23:07:37 +08:00
@gdtv sorry,我没仔细看你的场景。。为毛会有这么奇怪的限制。
本来允许 ssh 还可以 mysqldump 什么的玩一下,现在就只能利用 php 程序处理了。 |
15
ETiV 2015-04-06 23:31:48 +08:00 via iPhone 1
remove了的话,你在B上装phpmyadmin4.0以前的版本?
|
16
kookxiang 2015-04-07 10:44:03 +08:00 via Android 1
mysqldump可以用不?dump然后加密压缩放web服务里,另一台直接wget解压
|
17
gdtv OP @ETiV 在B装了个旧版本的phpmyadmin试了远程同步,显示同步完成,但只同步了一部分表,还有一些没同步,可能就是所谓的"It had many shortcomings"吧。。。。
|
20
ETiV 2015-04-07 14:55:07 +08:00 1
显示同步完成,但只同步了一部分表.
是不是超过了 PHP 的最大执行时间? 或者最大执行内存的限制. 在B上临时调大一些, 等下记得调回去. 还有一些没同步 把没同步的单独选中重新跑一次呗? |
22
gdtv OP @ETiV 如果超过了PHP最大执行时间,应该会php error,但没有显示任何错误,因为有几百个表,所以一个一个表核对哪些导出了哪些没导出,比较麻烦。
|
23
ETiV 2015-04-07 16:53:24 +08:00 1
php 默认不在页面上显示 error , 你可能需要设置一下, 才能展现到页面上.
---- 如果你能从 B 用 phpmyadmin 访问到 A, 说明 A 是可以被 B mysqldump 的. 可以的话, 就每次 dump 一个数据库, 需要先在 B 上 create 对应的数据库: mysqldump -uroot -p -h{IP_OF_A} {DB_NAME} | mysql -uroot -p {DB_NAME} |
24
gdtv OP @ETiV A服务器会显示php错误,我设置了display_error=On
从B不能用phpmyadmin访问到A,因为A没有开启3306端口 |
25
wangfeng3769 2015-04-08 17:49:02 +08:00 via Android
找到mysql文件直接同步。
|