免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2846 | 回复: 15

【讨论中】如何迁移mysql数据库 [复制链接]

论坛徽章:
0
发表于 2012-11-22 16:00 |显示全部楼层
本帖最后由 cenalulu 于 2012-11-23 11:47 编辑

系统是freebsd的,apache+php+mysql,现在想重新搭建一台相同环境的服务器,已经配置好apache+php,如何迁移mysql数据库啊?是不是跟MSSQL一样可以拷贝数据文件,还是要用什么工具,越简单越好,可以停服务的

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52戌狗
日期:2013-12-27 15:08:11
发表于 2012-11-22 19:07 |显示全部楼层
mysqldump 一条sql吧 简单

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
发表于 2012-11-23 10:21 |显示全部楼层
拷贝整个datadir和my.cnf过去也可以

论坛徽章:
0
发表于 2012-11-23 10:37 |显示全部楼层
1、你可以停服务,那迁移很简单;假设A机为原机, B机为你新安装机;关闭A,B两机的mysql,  scp -r A机MySQL数据目录 root@B机IP:B机MySQL数据目录;同时拷贝my.cnf配置文件,启动B机MySQL就可以了。
注意: (1)要求A,B两机的MySQL版本一样,如都是5.1或5.5, 如果是跨大版本的,那最好用mysqldump+复制

论坛徽章:
0
发表于 2012-11-23 10:41 |显示全部楼层
根据是否停服务分为两种方案:
1.可停服务, 如果数据量极大,且两机的MySQL版本相同,用这种方式速度很快, 假设原机为A, 新机为B;停止A,B的MySQL, 移走B的数据目录, 用scp拷贝A机的MySQL数据目录和my.cnf到B机,目录位置最好都相同。
   注意:(1) A,B的MySQL最好大版本相 同,如都为5.1或5.5,  如果是升级版本,最好使用mysqldump + 复制

论坛徽章:
0
发表于 2012-11-23 10:43 |显示全部楼层
晕没写完。。。

2、减少停服务时间, 或者有升级, 此时就最好用mysqldump 进行逻辑备份, 再拿到B机导入,不过,速度有点慢。 数据量大,可以使用每个库备份,或者用mydumper, myloader来做。

B机导入完成后,做成A机子slave, binlog+pos根据mysqldump --master-data=2 single-transactions来做。

论坛徽章:
0
发表于 2012-11-23 15:03 |显示全部楼层
用备份恢复可行吗?我在网上找到这种方法,请指点:

备份:
#mysqldump -u root -p tm > tm_20060101.sql  
按提示输入密码,这就把tm数据库所有的表结构和数据备份到tm_20060101.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,
这是可以利用gzip压缩数据,命令如下:
#mysqldump -u root -p tm | gzip > tm_20060101.sql.gz
还可以备份到远程机器,用-h制定,如
#mysqldump -u root -p tm > tm_20060101.sql -h xxx.xxx.xxx.xxx
可以直接备份到IP地址为xxx.xxx.xxx.xxx的远程计算机。
系统崩溃,重建系统,或恢复数据库时,可以这样恢复数据:
#mysql -u root -p tm < tm_20060101.sql
从压缩文件直接恢复:
#gunzip < tm_20060101.sql.gz | mysql -u root -p tm

论坛徽章:
0
发表于 2012-11-23 15:59 |显示全部楼层
还有就是,用mysqldump要一个一个数据库导出吗,然后再一个一个导入,有没有一次性导入的?导入的时候要先创建好数据库吗?

论坛徽章:
0
发表于 2012-11-23 16:48 |显示全部楼层
导入的时候是用source xxx.sql还是用mysql -u root -p 数据库 <  xxxx.sql

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
发表于 2012-11-27 14:59 |显示全部楼层
lz从来没备份过数据库?

就一直这么跑着???
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP