免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5291 | 回复: 4
打印 上一主题 下一主题

使用mysqldump导出数据库 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2017-05-31 12:01 |只看该作者 |倒序浏览

最近,在上课了培训的过程中,经常有学员问到数据库导出这个问题,下面我们来看几个常用用例:

(1)导出整个数据库数据和表结构   
mysqldump -u 用户名 -p 数据库名 > 导出的文件名     
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql


(2)导出一个表   
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名   
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql


(3)导出结构不导出数据    
mysqldump --opt -d 数据库名 -u root -p > xxx.sql   
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql   
#-d 不导出数据只导出结构 --add-drop-table 在每个create语句之前增加一个drop table


(4)导出数据不导出结构

mysqldump -t 数据库名 -uroot -p > xxx.sql


(5)导入数据库,常用source 命令

mysql -u root -p   
mysql>use 数据库   
mysql>set names utf8; (先确认编码,如果不设置可能会出现乱码,注意不是UTF-8)     
mysql>source ./wcnc_db.sql


(6)多库导出   
上边的实例只是最基础的,有的时候我们可能需要批量导出多个库,我们就可以加上--databases 或者-B,如下语句:

mysqldump  -uroot -p --databases test mysql #空格分隔

还有的时候我们可能需要把数据库内所有的库全部备份,我们就可以使用-all-databases,如下语句:

mysqldump  -uroot -p -all-databases


(7)条件导出

mysqldump命令中带有一个 --where/-w 参数,它用来设定数据导出的条件,使用方式和SQL查询命令中中的where基本上相同,有了它,我们就可以从数据库中导出你需要的那部分数据了。


命令格式如下:

mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径


例子:

从test数据库的test_data表中导出id大于100的数据到 /tmp/test.sql 这个文件中

mysqldump -uroot -p123456 test test_data --where=" id > 100" > /tmp/test.sql


导入的时候

mysql -u root -p 123456 test test_data < test.sql


求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
2 [报告]
发表于 2017-06-01 11:17 |只看该作者
还有--default-character-set=latin1

论坛徽章:
0
3 [报告]
发表于 2017-10-22 15:27 |只看该作者
mysqldump执行的时候,读写会受影响吗?执行备份的时候,是否要中断数据库服务?多谢!

论坛徽章:
0
4 [报告]
发表于 2017-10-22 22:06 |只看该作者
回复 3# cityou

Mysql网站上找到说明,此命令不影响数据库运行。

论坛徽章:
0
5 [报告]
发表于 2017-11-29 11:20 |只看该作者
回复 3# cityou


影响的程度取决于你数据量的大小,和你业务查询的频繁度,此操作最好在空闲的备库上执行,勿在业务主库执行!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP