mysqldump基本使用
mysqldump
是 MySQL
自带的逻辑备份工具
它的备份原理是通过协议连接到 MySQL
数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert
语句,当我们需要还原这些数据时,只要执行这些 insert
语句,即可将对应的数据还原
语法:
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
参数说明:
--port(-P):服务器端口号
--tables:指定要备份的表
--databases:指定要备份的数据库
--no-create-db/--no-create-info(-t):不写入表创建信息(CREATE TABLE语句)
--complete-insert(-c):使用完整的insert语句(用列名字)
--no-data(-d):不写入表的数据,如果你只想得到一个表结构的导出,这是很有用的!
--where="condition"(-w):只导出符合条件的记录,注意引号是强制的!
--all-databases:备份mysql服务器上的所有数据库
--compact:压缩模式,产生更少的输出
--lock-tables:备份前,锁定所有数据库表
--force(-f):当出现错误时仍然继续备份操作
--default-character-set:指定默认字符集
--add-locks:备份数据库表时锁定数据库表
- 导出指定数据库指定表结构和数据
mysqldump -h ip database -uusername -ppassword --tables table_name1 table_name2 table_name3 >D:\db_script.sql
- 导出指定数据库指定表数据
mysqldump -h ip database -uusername -ppassword -t -c table_name1 table_name2 table_name3 >D:\db_script.sql
- 导出指定数据库指定表指定数据
mysqldump -h ip database -uusername -ppassword -t -c table_name --where="brand_id=7" >D:\db_script.sql
- 导出指定数据库指定表结构
mysqldump -h ip database -uusername -ppassword -d table_name1 table_name2 table_name3 >D:\db_script.sql