- 完整备份所有数据库
mysqldump -uroot -p --all-databases >dump.sql
-- all-databases 在mysql8.0之前,存储过程和事件存储在mysql.proc,mysql.event表中。从mysql8.0开始,相应对象的定义存储在数据字典表中,但这些表不会被备份。要备份存储过程和events,需要使用--routines和events
mysqldump --all-databases --routines --events
时间点恢复
要获得时间点恢复
--single-transation
--master-data指定数据库和表
mysqldump --databases mydb >mydb.sql
mysqldump --databases mydb --tables t1 >mydb_t1.sql
- 忽略表
mysqldump --databases mydb --ignore-tables t1 >mydb.sql
- 指定行
mysqldump --databases mydb --tables t1 --tables t1 --where="id < 5" > t1.sql
- 只备份schema
mysqldump --all-databases --routines --events --no-data > schema.sql
- 只备份数据
mysqldump --all-databases --no-create-db --no-create-info --complete-insert > data.sql
--complete-insert 将在insert中打印出列名