(3.1)mysql备份与恢复之mysqldump

基本语法形式:

  mysqldump -uroot -p123456 db_name> 备份的文件名

1.单实例联系

1.1备份单个数据库联系多种参数使用

(1)mysqldump备份基本演示

    备份目标对象如图:

    

--开始备份test数据库到 /opt/mysql_test_bak.sql
mysqldump -uroot -p test1 >/opt/mysql_test_bak.sql

#这里可以加参数,--default-character-set=utf8 ,用其来做字符集导出
mysqldump -uroot -p --default-character-set=utf8 test1 >/opt/mysql_test_bak.sql

  【1】#查看是否备份成功
       

  【2】#看看备份文件里面的内容,其实是把现有的所有东西都删除掉,用sql重新插入一遍。。但直接cat查看有很多乱七八糟的东西。

  

  【2】egrep -v "#|\*|--|^$" /opt/mysql_test_bak.sql

  #另外一个简便命令查看备份文件内容,去掉乱七八糟的东西

     

 (2)还原

#还原命令,这里只是通过 mysqldump -uroot -p test1 >/opt/mysql_test_bak.sql  来备份,如果test1库不存在,这里就会还原失败,因为没有建库、切换到这个库的操作;
mysql -uroot -p123456 test1 </opt/mysql_test_bak.sql

总结:

  【1】备份:备份是把现有表结构,表数据,全都以sql的方式体现。但是注意,如果直接用mysqldump就不会有判断是否存在库,也不会使用库(见上图)。要有的话加-B参数;

  【2】还原: 就是删除老的同名库和表,然后再新建库、表,插入表数据。

1.2各类参数释义

【1】--default-character-set=utf8    #默认使用该字符集导出,案例语句: mysqldump -uroot -p --default-character-set=utf8 test1 >/opt/mysql_test_bak.sql

【2】-B  #加上建库与库使用,案例语句:mysqldump -uroot -p --default-character-set=utf8 -B test1>/opt/mysql_test_B_bak.sql

  如图:

   

 【3】--compact  #减少备份文件垃圾信息,一般用来测试(因为加这个参数,会把里面很多东西干掉,比如锁)案例语句:mysqldump -uroot -p --default-character-set=utf8 --compact -B test1>/opt/mysql_test_B_bak.sql

  

【4】数据库名|gzip  #压缩备份文件,案例语句:mysqldump -uroot -p --default-character-set=utf8  -B test1|gzip>/opt/mysql_test.bak.sql.gz

  

  压缩前后大小很明显。

总结:

【1】备份用:mysqldump -uroot -p db_name > 备份文件                        #这里只会有数据sql,不会产生建库、使用库

【2】还原:mysql -uroot -p db_name< 备份文件            #如果是使用【1】备份的备份文件,那么备份时的库名必须存在否则报错。如果使用【3】备份的备份文件,那么实例中无论是否存在db_name数据库,也可以还原。

【3】-B:备份文件里加上create database语句与 usedr database语句; 

【4】db_name|gzip :压缩备份文件 ,输出文件名后缀因为gz;

猜你喜欢

转载自www.cnblogs.com/gered/p/9721696.html