mysqldump 备份
备份数据库 my_database
$ mysqldump -uUSER -pPASSWD my_database > my_database.sql
备份数据库 my_database 中的 my_table 表
$ mysqldump -uUSER -pPASSWD my_database my_table.sql > my_table.sql
备份数据库 my_database 中的 my_table 表中 id 大于 120 的数据, where 用法
$ mysqldump -uUSER -pPASSWD my_database my_table.sql --where "id > 120"> my_table.sql
备份数据库 my_database 表结构
$ mysqldump -uUSER -pPASSWD -d my_database > my_database.sql
备份数据库 my_database 中 my_table 表(多个表)的表结构
$ mysqldump -uUSER -pPASSWD -d my_database my_table1 my_table2 > my_table.sql
备份多个数据库 my_database1, my_database2
$ mysqldump -uUSER -pPASSWD --databases my_database1 my_database2 > my_database.sql
备份所有数据库
$ mysqldump -uUSER -pPASSWD --all-databases > my_database.sql
备份后压缩保存, 及还原压缩保存的数据
$ mysqldump -uUSER -pPASSWD --all-databases | gzip > backupfile.sql.gz
$ gunzip -c abc.sql.gz |mysql -uroot -proot abc # 还原压缩的数据到数据库
在两个 mysql server 之间复制数据
$ mysqldump --opt db_name | mysql --host=remote_host -C db_name
mysqldump 帮助
--add-locks : 在每个表导出之前增加 LOCK TABLES 并且之后 UNLOCK TABLE , 为了使得更快的插入到 Mysql
--add-drop-table : 在每个 Create 语句之前增加一个 drop table.