Mysql Dump

Posted xibuhaohao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql Dump相关的知识,希望对你有一定的参考价值。

mysql备份有逻辑备份与物理备份

逻辑备份有MySQL自带的mysqldump工具

物理备份有开源的Xtrabackup(免费版 ibbackup 热备份)

今天总结一下,mysqldump

dump 整个库(包含函数、存储过程、触发器等) mysqldump -uroot -pxxxx  --all-databases --single-transaction --triggers --routines --events -P3306 |gzip >test.tar.gz
dump 整个库 mysqldump -uusername -ppassword --all-databases  --single-transaction  |gzip >test.tar.gz
dump 多个DB-带数据 mysqldump -uusername -ppassword  --single-transaction  --databases db1 db2 > db1db2.sql
dump 单个DB-不带数据 mysqldump 数据库名 -uroot -p > xxx.sql
dump 单张表 mysqldump -uusername -ppassword db1 table1  > tb1tb2.sql
dump 多张表 mysqldump -uusername -ppassword db1 table1 table2 > tb1tb2.sql
dump 表的部分数据,带where条件 mysqldump -uroot -proot --databases db1 --tables a1 --where=‘id=1‘  >/tmp/a1.sql
dump 字段是字符串,并且导出的sql中不包含drop table,create table mysqldump -uroot -proot --no-create-info --databases db1 --tables a1 --where="id=‘a‘"  >/tmp/a1.sql
dump 表结构,不带数据 mysqldump -uroot -proot --no-data --databases db1 >/tmp/db1.sql
dump 数据 mysqldump -t 数据库名 -uroot -p > xxx.sql
dump 跨服务器(h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错 mysqldump --host=h1 -uroot -proot -C --databases db1 |mysql --host=h2 -uroot -proot db2 (-C代表压缩)
参数--single-transaction

该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎(它不显示加锁通过判断版本来对比数据),仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。

参数--quick, -q

不缓冲查询,直接导出到标准输出。默认为打开状态,使用--skip-quick取消该选项。

以上是关于Mysql Dump的主要内容,如果未能解决你的问题,请参考以下文章

mariadb数据库完整备份

MySQL

mysql初学,mysql修改,mysql查找,mysql删除,mysql基本命令

mysql(设置/更改mysql密码,连接MySQL,MySQL常用命令,MySQL两种引擎区别)

MySQL教程

MySQL