MySQL学习——使用mysqldump命令备份和还原
MySQL学习——使用mysqldump命令备份和还原
摘要:本文主要学习了如何使用mysqldump命令备份和还原数据库。
导出数据
导出全部数据
参数:
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。1 --all-databases, -A
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases > db_back.sql
导出指定的数据库
参数:
1 --databases, -B
举例:
1 mysqldump -h127.0.0.1 -uroot -p --databases test mysql > db_back.sql
导出指定表
只能针对一个数据库进行导出,并且导出的内容中没有创建数据库的判断语句。
参数:
1 --tables
举例:
1 mysqldump -h127.0.0.1 -uroot -p --databases test --tables demo user > db_back.sql
导出全部表空间
参数:
1 --all-tablespaces, -Y
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --all-tablespaces > db_back.sql
不导出表空间信息
参数:
1 --no-tablespaces, -y
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --no-tablespaces > db_back.sql
忽略指定表
不导出指定表。指定忽略多个表时,需要重复多次,每次一个表,每个表必须同时指定数据库和表名。
参数:
1 --ignore-table
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --ignore-table=database.table1 --ignore-table=database.table2 > db_back.sql
在每个数据库创建前添加删除数据库语句
参数:
1 --add-drop-database
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --add-drop-database > db_back.sql
在每个表创建前添加删表语句
默认为打开状态,使用 --skip-add-drop-table 参数取消。
参数:
1 --add-drop-table// 添加删表操作。 2 –-skip-add-drop-table// 取消删表操作。
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases > db_back.sql// 默认添加删表操作。 2 mysqldump -h127.0.0.1 -uroot -p --all-databases --skip-add-drop-table > db_back.sql//取消删表操作。
不添加创建数据库语句
参数:
1 --no-create-db, -n
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --no-create-db > db_back.sql
不添加创建数据表语句
参数:
1 --no-create-info, -t
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --no-create-info > db_back.sql
不导出数据只导出结构
参数:
1 --no-data, -d
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --no-data > db_back.sql
导出存储过程以及自定义函数
参数:
1 --routines, -R
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --routines > db_back.sql
在每个表导出前锁表并在导出后解锁
默认为打开状态,使用 --skip-add-locks 参数取消。
参数:
1 --add-locks// 添加锁表和解锁操作。 2 --skip-add-locks// 取消锁表和解锁操作。
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases > db_back.sql// 默认添加锁表和解锁操作。 2 mysqldump -h127.0.0.1 -uroot -p --all-databases --skip-add-locks > db_back.sql// 取消锁表和解锁操作。
设置字符集文件的目录
默认是utf8。
参数:
1 --default-character-set
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --default-character-set=latin1 > db_back.sql
设置字符集文件的目录
参数:
1 --character-sets-dir
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --character-sets-dir=/data/mysql/share/charsets > db_back.sql
在客户端和服务器之间启用压缩传递所有信息
参数:
1 --compress, -C
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --compress > db_back.sql
连接数据库的端口号
参数:
1 --port, -P
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --port=3306 > db_back.sql
使用的连接协议
参数:
1 --protocol
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --protocol=tcp > db_back.sql
处理换行
直接输出到指定文件中。该选项应该用在使用回车换行对(\\r\\n)换行的系统上(例如:DOS,Windows)。该选项确保只有一行被使用。
参数:
1 --result-file, -r
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --result-file=/tmp/mysqldump_result_file.txt > db_back.sql
添加导出时间
将导出时间添加到输出文件中。默认为打开状态,使用 --skip-dump-date 参数取消。
参数:
1 --dump-date// 将导出时间添加到输出文件中。 2 --skip-dump-date// 不将导出时间添加到输出文件中。
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases// 默认将导出时间添加到输出文件中。 2 mysqldump -h127.0.0.1 -uroot -p --all-databases --skip-dump-date// 不将导出时间添加到输出文件中。
只导出符合指定条件的记录
如果条件包含命令解释符专用空格或字符,一定要将条件引用起来。
参数:
1 --where, -w
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --where=" id=1 limit 10"
合并多个插入语句
参数:
1 --extended-insert// 合并多个插入语句。 2 --skip-extended-insert// 取消合并多个插入语句。
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --extended-insert// 默认合并多个插入语句。 2 mysqldump -h127.0.0.1 -uroot -p --all-databases --skip-extended-insert// 取消合并多个插入语句。
使用完整的插入语句
使用包含列名称的完整插入语句。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。
参数:
1 --complete-insert, -c
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --complete-insert
服务器发送和接受的最大包长度
参数:
1 --max_allowed_packet
举例:
1 mysqldump -h127.0.0.1 -uroot -p --all-databases --max_allowed_packet=10240
更多精彩