免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: imbiss
打印 上一主题 下一主题

[数据库备份] 大家都用什么方法来备份和迁移mysql数据库 [复制链接]

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
11 [报告]
发表于 2005-09-30 14:29 |只看该作者

[数据库备份] 大家都用什么方法来备份和迁移mysql数据库

[quote]原帖由 "hightman" 发表:
晕,很多跟贴根本没看懂楼主的意思!

我的理解是楼主想从远程主机向本地机器备份数据库.  有的人回复的是告诉他如何上载数据库....

他的PHP是safe_mode运行吗, 否则将你的目录 chmod 777 也不可以吗?

那就试

论坛徽章:
0
12 [报告]
发表于 2005-09-30 17:58 |只看该作者

[数据库备份] 大家都用什么方法来备份和迁移mysql数据库

我晕,先用PHP把库dump成sql文本至FTP目录。然后直接用FTP下载不就得了?回帖办法一个比一个麻烦。

论坛徽章:
0
13 [报告]
发表于 2005-09-30 18:11 |只看该作者

[数据库备份] 大家都用什么方法来备份和迁移mysql数据库

[quote]原帖由 "powerpolly"]我晕,先用PHP把库dump成sql文本至FTP目录。然后直接用FTP下载不就得了?回帖办法一个比一个麻烦。[/quote 发表:


谢谢大家的回复。我再把问题说清楚点。

我在本地机WIN32上作开发和测试,并且输入了大概3兆多的数据进入数据库。没有问题。
现在开发结束,我要上传到虚拟主机上服务器,在导入数据表的过程中,出现了问题:存放这个3兆多的数据表无法顺利导入的远程的服务器上。错误原因是超时,出错。或者是mysql回复,数据包超过最大设置等等。

所以我就有了这么一个问题,就这么小一个数据表尚且如此,对于大的数据库,大家是如何备份和迁移的?

对于我自己的问题,我决定修改程序,还是用为上传文件的方式取代上传文件入库的方式,但同时保留上传入数据库的方式作为备用。因为各种主机的设置不同,并不能保证上传文件的方式在所有的主机上顺利通过(有些主机,apache没有权限写入其他用户的目录)。

所以还是这个问题: 对于大的数据库,大家是如何备份和迁移的?

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
14 [报告]
发表于 2005-09-30 18:32 |只看该作者

[数据库备份] 大家都用什么方法来备份和迁移mysql数据库

[quote]原帖由 "imbiss" 发表:


谢谢大家的回复。我再把问题说清楚点。

我在本地机WIN32上作开发和测试,并且输入了大概3兆多的数据进入数据库。没有问题。
现在开发结束,我要上传到虚拟主机上服务器,在导入数据表的过程中,出现了问题:

论坛徽章:
0
15 [报告]
发表于 2005-09-30 19:07 |只看该作者

[数据库备份] 大家都用什么方法来备份和迁移mysql数据库

原帖由 "HonestQiao" 发表:


无论如何,你当前的虚拟主机下的目录,你是可以写的。

要不能写,那还要这个空间干嘛?


我能写,通过SSH,但是......
APACHE不能写。赫赫。这个空间不是商业空间,所以我就忍了。

其他的商业空间是可以的。

但问题还是: 大家是如何迁移数据库的??

就没有人带着数据搬过家吗?

论坛徽章:
0
16 [报告]
发表于 2005-10-01 10:41 |只看该作者

[数据库备份] 大家都用什么方法来备份和迁移mysql数据库

原帖由 "imbiss" 发表:

就没有人带着数据搬过家吗?

你还挺幸福的,我最近才迁移过一个快1G的数据库,是从本地迁移到服务器,我让服务器的php连接我的数据库(要求:1 数据库允许远程连接 2 本地有公网IP)进行读取并写入服务器数据库。

这个是没有办法的办法。那个服务器我只有ftp权限,而且服务器还是regist_global = off ,我刷新了两天网页才拷完。

如果你有ssh权限,试一下 mysqldump  命令能不能执行。如果可以,直接就倒到数据库里了。这样书最方便的,多大的数据库都可以

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
17 [报告]
发表于 2005-10-01 13:20 |只看该作者

[数据库备份] 大家都用什么方法来备份和迁移mysql数据库

原帖由 "imbiss" 发表:

就没有人带着数据搬过家吗?


肯定搬过家的啊。

我告诉你怎么测试是否可以写,一般而言:
你上传一个文件,然后看看是否可以取得这个文件的信息,如果可以,那么证明是可以写到临时文件目录的。
而临时文件目录,你在phpinfo();里面是完全可以看到的,那么这样子你可以把备份文件写入到临时文件里面。

select outfile 有一些限制:
SELECT ... INTO OUTFILE 'file_name'格式的SELECT语句将选择的行写入一个文件。文件在服务器主机上被创建,并且不能是已经存在的(不管别的,这可阻止数据库表和文件例如“/etc/passwd”被破坏)。在服务器主机上你必须有file权限以使用这种SELECT。

你也可以看看另外的情况,例如你自己建立一个mysql服务器,那么你的php可以连接你的服务器的服务器和你本地的服务器,来进行数据的取出和写入操作。

最不济的方法,你还可以一条一条取出数据之后,直接编码,用网页显示出来,你再写一个程序反向操作,也是可行的。

论坛徽章:
0
18 [报告]
发表于 2005-10-01 16:53 |只看该作者

[数据库备份] 大家都用什么方法来备份和迁移mysql数据库

多谢各位帮助。我自己的问题已经解决(更换了服务商)。
但是,还是把大家的意见整理了一下,贴在下面。方便有同样问题的同志查询。

--------------------------------------------

1.在远程服务器上备份到文件
a 通过Web服务器(apache需要有写的权限),通过PHP写文件到指定临时目录
b 如果实在没有写权限就通过phpmyadmin备份直接发送到浏览器下载。

2.下载备份文件到本地
如果已经通过 1b 则跳过本步
  通过FTP下载临时文件。


3.上传备份文件到新服务器
最好通过FTP上载。
如果不行(不太可能,ftp或者sftp,SSH2一般都有),可以通过Web Server上载,至少能传到PHP或者系统临时文件内。(HonestQiao )
注:但是会受到PHP和apache上传文件大小的限制。

4.倒入备份数据
如果有SSH权限,可是用mysqldump  命令倒入数据 (litie123   )
或者用PHP执行 select outfile  (HonestQiao )
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP