mysqldump备份
注:例子中的语句都是在mysql5.6下执行
------------------基础------------------------
一、修改my.cnf文件
vi /etc/my.cnf
增加如下配置 要备份的数据库用户名为root 密码为 rootpassword
[mysqldump] user=root password=rootpassword 重启数据库: [root@minio2 ~]# service mysql stop [root@minio2 ~]# service mysql start
二、开始备份
备份test数据库 备份后的语句在/opt/mysqlDataBack/mysql_test_bak.sql
mysqldump -B test>/opt/mysqlDataBack/mysql_test_bak.sql
注:-B 参数 增加后备份的语句里多了创建数据库的语句。
三、恢复数据
mysql </opt/mysqlDataBack/mysql_test_bak.sql
----------------扩展------------------
四、压缩备份
备份:
mysqldump test|gzip>/opt/mysql_databack/mysql_test_bak.sql.gz
恢复:
先解压,在恢复
1、原来的压缩包还在(解压过程读取压缩包里的内容,输出到新的文件里)
gunzip -c mysql_test_bak.sql.gz >mysql_test_bak.sql mysql </opt/mysql_databack/ mysql_test_bak.sql
2、原来的压缩包就没有了,只有解压后的
gzip -d mysql_test_bak.sql.gz
五、多个库一起备份
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | | test1 | +--------------------+ 5 rows in set (0.00 sec) 备份:(必须加-B) mysqldump -B test test1>/opt/mysql_databack/mysql_many_bak.sql 恢复: mysql </opt/mysql_databack/ mysql_many_bak.sql
六、备份单个表
备份: mysqldump test YC_TABLE_T>/opt/mysql_databack/mysql_table.sql 恢复: mysql </opt/mysql_databack/ mysql_table.sql
七、备份多个表
备份: mysqldump test YC_TABLE_T YC_TABLE1_T >/opt/mysql_databack/mysql_many_table.sql 恢复: mysql </opt/mysql_databack/ mysql_many_table.sql
八、备份表结构不包含数据
备份: mysqldump -B -d test >/opt/mysql_databack/mysql_structure.sql
九、备份数据不包含别结构
备份: mysqldump --compact -t test >/opt/mysql_databack/mysql_data.sql
十、source恢复
恢复:mysql> source /opt/mysql_databack/mysql_test_bak_B.sql mysql>use test 然后使用source命令、后面的参数为脚本文件(例如上面的mysql_test_bak_B.sql) mysql>source mysql_test_bak_B.sql #这个文件是系统路径,默认是登录mysql前的系统路径。