LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2508|回复: 12

怎么把一台机子的MYSQL里的database传到另一台机子上去?

[复制链接]
发表于 2002-8-27 16:52:16 | 显示全部楼层 |阅读模式
如题,谢谢。
发表于 2002-8-27 17:02:27 | 显示全部楼层
用mysqldump把数据导出到一个文本文件里,然后再导入到新的数据库中去。

如果是导整个数据库,就用以下语句导出:
mysqldump -h源数据库服务器 -P端口号 -u超级用户名 -p --opt -a -A > db.sql
这样就把数据导出到了db.sql文件中了,再用:
mysql -h目标数据库服务器 -P端口号 -u超级用户名 -p < db.sql

如果是导出部分数据库,那导出语句就是:
mysqldump -h源数据库服务器 -P端口号 -u超级用户名 -p --opt -a --databases 数据库一 数据库二 数据库三 ... > db.sql

如果只导出一个数据库,那就更简单了:
mysqldump -h源数据库服务器 -P端口号 -u超级用户名 -p --opt -a 数据库名 > db.sql

导入语句一样。


另外,不要重复发贴,谢谢~
发表于 2002-8-27 17:05:50 | 显示全部楼层
第二种简单一点的办法就是直接copy数据库文件 。
发表于 2002-8-27 17:10:11 | 显示全部楼层
直接COPY数据库文件只有在文件系统一样的情况下才可以使用,否则有可能造成数据库不能使用
发表于 2002-8-29 12:20:03 | 显示全部楼层
我曾把WINDOWS下的mysql数据库文件拷贝到linux下,就是需要改一下扩展名的大小写。完全没有问题呀?
发表于 2002-8-29 14:29:05 | 显示全部楼层
呵呵,我是说可能会出问题。这种方法最好是在数据库服务器关闭的情况下进行,否则如果在拷贝文件的时候正好有写入操作,那么极有可能会造成数据表和索引表不匹配。
发表于 2002-8-30 09:14:51 | 显示全部楼层
数据无价,既然有mysqldump这个工具的话,最好还是用这个工具来导出数据库吧。。。
发表于 2002-9-4 17:13:44 | 显示全部楼层
如果数据库太大。用mysqldump这个工具太慢,这种情况如果能中断mysql一段时间的话就最好了,先把数据目录打包,再copy到另外的机子上。再启动mysql。
我今天就是用这种方法把我们的数据库成功转移到另外的机子上,总共数据有2GB。速度很快。如果用mysqldump就速度要慢N多。还不能保证完整性。当然mysql版本最好要一样。
发表于 2002-9-9 10:23:04 | 显示全部楼层
mysqldump和SERVER在同一台机器上的情况下导出是很快的,如果是两台机器肯定速度会有影响,至于khj99兄说的不能保证完整性的问题,我不知道指的是什么,至少我在导出的时候还没出过错。
当然把MYSQL服务停止后copy数据文件的方式也没问题。
发表于 2002-9-20 22:57:42 | 显示全部楼层
win下的mysql好像不存在权限问题,一次打包,解压缩到linux下的mysql数据库中,看起来正常,不过其中一个表提示无权限。设定好,ok

可是下次启动mysql的时候,又要重新设定权限#%…#¥…%
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表