暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
2.逻辑备份.docx
54
44页
0次
2025-02-22
100墨值下载
mysqldump
mysqldump 介绍
mysqldump MySQL 自带的一个命令行工具,用于逻辑备份。可以将数据库和表的结构,
以及表中的数据分别导出成:create database, create table, insert into sql 语句。当然也可
以导出 存储过程,触发器,函数,调度事件。还原时执行这些语句即可将对应的数据还原。
mysqldump 的缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要
恢复的话同样也是单线程运行,恢复速度也慢。
mysqldump 做备份时候可能出现性能抖动,mysqldump 是先从 buffer 中找想要备份的内容,
如果 buffer 没有,就需要访问磁盘中的数据文件,然后把数据调回内存,形成备份文件。当
把数据从磁盘调到内存时,有可能把内存里的热数据冲掉,这样就影响了我们对现有业务的访
问。因此,备份最好在业务较低时候做。
mysqldump 使用限制
使用 mysqldump 可对数据库进行导出,但也有一些限制:
1. 默认不导出 information_schemaperformance_schema sys 数据库,若导出,可
通过--databases 选项指定
2. 不导出 InnoDB create tablespace 语句
3. 导出 mysql 数据库时会重建 general_log slow_query_log 表,但不导出数据
mysqldump 语法
mysqldump 语法如下:
语法 :
mysqldump [options] db_name [tables]
用于导出某个数据库或表,在导出的脚本中,没有 create database use 语句,在重新导
入时,可指定数据库,若没有数据库,则需要提前进行创建。
mysqldump [options] --database/-B db1 [db2 db3...]
用于导出特定的数据库,--databses 选项指定后面所导出的数据库列表,以空格分割,在每
个数据库导出之前,在导出的脚本中会写 create database use 语句,用于数据库的创建和
指定要操作的库,在导入时如果数据库不存在,则会进行创建。
mysqldump [options] --all-databases/-A
用于导出所有数据库,默认不会导出 performance_schemasysinformation_schema
若需要导出时,需指定--databases 选项。
连接选项 :
-u, --user=name:指定用户名
-p, --password[=name]:指定密码
-h, --host=name:指定服务器 ip 或域名
-P, --port=#:指定连接端口
-S--socket=name:指定使用 socket 进行连接
输出选项:
--add-drop-database:在每个数据库创建语句前加上 drop database 语句
--add-drop-table:在每个表创建语句前加上 drop table 语句 , 默认开启 ; 不开启 (--skip-
add-drop-table)
-n, --no-create-db:不包含数据库的创建语句
-t, --no-create-info:不包含数据表的创建语句
-d --no-data:不包含数据,仅导出表结构
--replace:使用 replace 语句代替 insert 语句
--insert-ignore:在插入行时使用 insert ignore 语句而不是 insert 语句
-T, --tab=name:自动生成两个文件:一个.sql 文件,创建表结构的语句;一个.txt 文件,
数据文件
-f,--force:出错时仍然继续
--log-error=file_name:向指定的文件输出告警和错误信息,该选项默认不打开
-r file_name,--result-file=file_name:直接输出到指定文件
--tables:指定需要导出的表名
--ignore-table=db.table:不导出指定的表
-E,--event:导出事件
-R,--routines:导出存储过程和自定义函数
--triggers:导出触发器,该选项默认是被激活的,用--skip-triggers 可屏蔽该选项
-w 'condition',--where='condition':只导出符合条件的记录
--single-transaction:该选项设置事务隔离级别为可重复读,在导出数据之前生成事务快照,
保证导出的事务是一致的
--source-data=[value]:为 1 时,在导出文件中增加 change master 语句;为 2 时,采用注
释的形式把这样的语句添加到导出文件中
mysqldump 实例
1.备份所有数据库
mysqldump -uroot -p123456 --all-databases > all.sql
备份所有数据库,包含存储过程和事件
mysqldump -uroot -p123456 --all-databases --routines --events > all.sql
备份内容格式化输出:
egrep -v "#|\*|--|^$" all.sql
2.从远程服务器备份
有时,你可能没有 SSH 访问数据库服务器的权限(例如 阿里云的 RDS)。 在这些情况下,
可以使用 mysqldump 从远程服务器备份到本地服务器。
mysqldump -h 192.168.1.102 -uroot -p123456 --all-databases > all.sql
3.备份单个数据库
mysqldump -uroot -p123456 testdb > testdb.sql
4.备份多个数据库
mysqldump -uroot -p123456 --databases db1 db2 > db1_db2.sql
of 44
100墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜