MySQL

导出

导出一个数据库

mysqldump -uroot -p db1 > /data/sql/db.sql

导出一个数据库并压缩

mysqldump -uroot -p --quick --single-transaction db1 | gzip > db1.`date +%Y.%m.%d`.sql.gz

导出多个数据库

mysqldump -uroot -p --quick --databases db1 db2 > /data/sql/db.sql

导出全部数据库

mysqldump -uroot -p --quick --all-databases > /data/sql/db.sql

导出一张表

mysqldump -uroot -p db1 tb1 > /data/sql/db.sql

导出多张表

mysqldump -uroot -p db1 tb1 tb2 tb3 > /data/sql/db.sql
--quick:强制mysqldump将查询得到的结果直接输出到文件,不缓存到内存中
--single-transaction:通过在一个事务中导出所有表而创建一个一致性的快照,适用于 innodb引擎
--ignore-table=TableName :指定不需要备份的表

导入

导入一个数据库

gunzip db.sql.gz
mysql -uroot -p db1 < /data/sql/db.sql

导入多个数据库

mysql -uroot -p
mysql> source /data/sql/db.sql;

导入全部数据库

mysql -uroot -p
mysql> source /data/sql/db.sql;

导入一张表

mysql -uroot -p db < /data/sql/db.sql

导入多张表

mysql -uroot -p db < /data/sql/db.sql