mysqldump是数据库用来备份和数据转移的一个工具,一般在数据量很小的时候(几个G)可以用于备份。当数据量比较大的情况下,就不建议用mysqldump工具进行备份了;mysqldump是一个很好用的mysql数据转移工具,具有兼容强强、跨版本等特点;
1.数据库的导出:mysqldump可以针对单个表、多个表、单个数据库、多个数据库、所有数据库进行导出的操作。
1)普通备份单个数据库:
[[email protected] tools]# mysqldump –u root -p -S /var/lib/mysql/mysql.sock sky9896>/home/tools/bak_$(date +%F).sql
2)压缩备份:
[[email protected] tools]# mysqldump -uroot -p -S /var/lib/mysql/mysql.sock sky9896|gzip >/home/tools/bak_$(date +%F).sql.gz
3)如何进行多个库备份?关键加参数’-B’,备份所有库,加参数’-a’;
mysqldump -u 用户名 -p -B 数据库1 数据库n > 备份文件名.sql
[[email protected] tools]# mysqldump -uroot -p -S /var/lib/mysql/mysql.sock -B sky9896 blog >/home/tools/bak_b_$(date +%F).sql
4)如何进行分库备份?
mysqldump -u 用户名 -p 数据库 > 备份文件名.sql
[[email protected] tools]# mysqldump -uroot -p -S /var/lib/mysql/mysql.sock blog >/home/tools/bak_b_$(date +%F).sql
5)如何进行分表备份?
mysqldump -u 用户名 -p 数据库名 表名1 >备份文件名.sql
[[email protected] tools]#mysqldump -u root -p sky9896 test> /home/back/test.sql
6)如何进行多个表备份?
mysqldump -u 用户名 -p 数据库名 表名1 表名2 >备份文件名.sql
[[email protected]]#mysqldump -u root -p sky9896 sky1 sky2 >/home/back/sky.sql
7)备份数据库结构(不包含数据),关键加参数’-d’
mysqldump -u 用户名 -p 数据库名 -d 表名>备份文件名.sql
[[email protected]]#mysqldump –u root –p –S /var/lib/mysql/mysql.sock sky9896 -d >/home/tools/bak_b_$(date +%F).sql
8)数据恢复
[[email protected]]# mysql –u sky9896 –p <*.sql
mysql> source /home/tools/bak_2015-01-17.sql