MySQL中mysqldump导出数据的使用
mysqldump常用参数说明:
帮助使用:mysqldump --help
-A, --all-databases 导出全部数据库 mysqldump -uroot -p –A > /tmp/filename.sql -Y, --all-tablespaces 导出全部表空间 -y, --no-tablespaces 不导出任何表空间信息. --add-drop-database 每个数据库创建之前添加drop数据库语句。 --add-drop-table 每个数据表创建之前添加drop数据表语句,默认为打开状态,使用–skip-add-drop-table取消选项。 --add-locks 在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE.默认为打开状态,使用–skip-add-locks取消选项. -i, --comments 附加注释信息,默认为打开,可以用–skip-comments取消. --compact 导出更少的输出信息(用于调试)。去掉注释和头尾等结构. -C, --compress 在客户端和服务器之间启用压缩传递所有信息 -B, --databases 导出多个数据库,参数后面所有名字参量都被看作数据库名,并且增加use db和create database db的信息.例如:mysqldump -uroot -p -B test mysql -E, --events 导出事件. -F, --flush-logs 开始导出之前刷新日志请注意:假如一次导出多个数据库(使用选项–databases或者–all-databases),将会逐个数据库刷新日志。除使用–lock-all-tables或者–master-data<br>外。在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。因此,如果打算同时导出和刷新日志应该使用–lock-all-tables 或者–master-data 和–flush-logs。<br>mysqldump -uroot -p –all-databases –flush-logs -f, --force 在导出过程中忽略出现的SQL错误. -d, --no-data 不导出任何数据,只导出数据库表结构。 -p, --password[=name] 连接数据库密码 -P, --port=# 连接数据库端口号 -u, --user=name 指定连接的用户名。 -R, --routines 导出存储过程和函数 --triggers 导出触发器 --debug-info 输出调试信息并退出 --ignore-table=name 不导出指定表。指定忽略多个表时,需要重复多次,每次一个表。每个表必须同时指定数据库和表名。 --default-character-set 设置默认字符集,默认值为utf8。例如:mysqldump -uroot -p –A –default-character-set=latin1 --hex-blob 使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用该选项。影响到的字段类型有BINARY、VARBINARY、BLOB。 --log-error 附加警告和错误信息到给定文件. mysqldump -uroot -p --all-databases --log-error=/tmp/mysqldump_error_log.err --single-transaction 该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。
本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。 -l, --lock-tables 开始导出前,锁定所有表。用READ LOCAL锁定表以允许MyISAM表并行插入。对于支持事务的表例如InnoDB和BDB,--single-transaction是一个更好的选择,因为它根本不需要锁定表。 请注意当导出多个数据库时,--lock-tables分别为每个数据库锁定表。因此,该选项不能保证导出文件中的表在数据库之间的逻辑一致性。不同数据库表的导出状态可以完全不同。 mysqldump -uroot -p --host=localhost --all-databases --lock-tables -x, --lock-all-tables 提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭--single-transaction 和--lock-tables 选项。 --master-data 该选项将binlog的位置和文件名追加到输出文件中。如果为1,将会输出CHANGE MASTER 命令;如果为2,输出的CHANGE MASTER命令前添加注释信息。该选项将打开--lock-all-tables
选项,除非--single-transaction也被指定(在这种情况下,全局读锁在开始导出时获得很短的时间;其他内容参考下面的--single-transaction选项)。
该选项自动关闭--lock-tables选项。 --master-data=1
从库: 告诉从库,从主库的那个位置开始同步. --master-data=2 注释中记录了获取binlog文件和位置点 myisam备份场景:
myisam备份是要锁表,不然数据可能会不一致. mysqldump -uroot -p123456 -A -B --master-data=2 -x|gzip >/opt/all.sql.gz innodb备份场景: mysqldump -uroot -p123456 -A -B --master-data=2 --single-transaction|gzip >/opt/all.sql.gz for innoDB:
mysqldump --user=root --all-databases --flush-privileges --single-transaction --master-data=1 --flush-logs --triggers --routines --events --hex-blob > /tmp/full_dump.sql
mysqldump常用于数据库的备份与还原,在备份的过程中我们可以根据自己的实际情况添加以上任何参数
语法:
mysqldump -u 用户名 -p 密码 数据库 > file.sql
实例:
1.导出整个数据库(包括数据库中的数据和创建表的语句)
mysqldump -u username -p dbname > filename.sql
2.导出数据库结构(不含数据,只包含创建表的语句)
mysqldump -u username -p -d dbname > filename.sql
3.导出数据库中的某张数据表(包含表数据和创建表语句)
mysqldump -u username -p dbname table1 table2 > filename.sql
4.导出数据库中的某张数据表的表结构(不含数据)
mysqldump -u username -p -d dbname tablename > filename.sql
5.指定字符集导出:
mysqldump -uroot -p'123456'--default-character-set=utf-8 -B mydb > /tmp/mydb.sql
6.指定压缩命令压缩备份的MySQL数据
mysqldump -uroot -p'123456' mydb|gzip > /tmp/mydb.sql.gz
7.过滤mydqldump导出的mydb.sql文件的未注释部分.
egrep -v "#|\*|--|^$" /tmp/mydb.sql grep -E -v "#|\/|^$|--" /tmp/mydb.sql
如果要导入数据可执行如下命令:
mysql -u username -p db_name < test_db.sql
还原数据库操作还可以使用以下方法:
mysql> use db_name
mysql> source test_db.sql
mysql source 防止乱码
1.数据库备份命令
mysqldump -uroot -p --default-character-set=utf8 dbname > /root/dbname.sql
2.导入数据库
mysql -uroot -p --default-character-set=utf8
use dbname
source /root/dbname.sql
参考文档:http://www.cnblogs.com/qq78292959/p/3637135.html
http://jingyan.baidu.com/article/948f5924259516d80ef5f95e.html
http://www.cnblogs.com/digdeep/archive/2015/10/21/4898622.html
http://blog.csdn.net/a351945755/article/details/21758283
MySQL中mysqldump导出数据的使用的更多相关文章
- mysql使用mysqldump导出数据出错
mysqldump -hlocalhost -uroot -p123456 student_info jssypk > c:/databackup.sql 导出表结构 mysqldump - ...
- MySQL数据库使用mysqldump导出数据详解
mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等.接下来通过本文给大家介绍MySQL数 ...
- mysql第一天【mysqldump导出数据和mysql导入数据】
1.使用mysqldump导出数据到本地sql文件 在mysql>bin下执行: 例如: mysqldump -hrm-2ze8mpi5i65429l1qvo.mysql.rds.aliyunc ...
- MySql 利用mysql&mysqldum导入导出数据
MySql 利用mysql&mysqldum导入导出数据 by:授客 QQ:1033553122 测试环境 Linux下测试,数据库MySql 工具 mysqldump,该命令位于mysq ...
- mysqldump导出数据出现问题
利用mysqldump导出数据时提示warning,A partial dump from a server that has GTIDsubt@ubt-All-Series:~$ mysqldum ...
- oracle中导入导出数据备份数据库
原文:oracle中导入导出数据备份数据库 数据库所在位置 将数据导出到的文件名 用户名 备份数据库 :exp c ...
- 关于mysql中存储json数据的读取问题
在mysql中存储json数据,字段类型用text,java实体中用String接受. 返回前端时(我这里返回前端的是一个map),为了保证读取出的数据排序错乱问题,定义Map时要用LinkedHas ...
- 学习 MySQL中导入 导出CSV
学习 MySQL中导入 导出CSV http://blog.csdn.net/sara_yhl/article/details/6850107 速度是很快的 导出 select * from t ...
- MySQL 中删除的数据都去哪儿了?
不知道大家有没有想过下面这件事? 我们平时调用 DELETE 在 MySQL 中删除的数据都去哪儿了? 这还用问吗?当然是被删除了啊 那么这里又有个新的问题了,如果在 InnoDB 下,多事务并发的情 ...
随机推荐
- 整理Lua和Unity和Lua交互文章链接
重点文章: 1.[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(上) 2.[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(中) 3.Lua和C++交互详细总结 4. ...
- 【Android】Sensor框架HAL层解读
Android sensor构建 Android4.1 系统内置对传感器的支持达13种,他们分别是:加速度传感器(accelerometer).磁力传感器(magnetic field).方向传感器( ...
- Asp.net页面中调用soapheader进行验证的操作步骤
Asp.net页面中调用以SOAP头作验证的web services操作步骤 第一步:用来作SOAP验证的类必须从SoapHeader类派生,类中Public的属性将出现在自动产生XML节点中,即: ...
- LeetCode: Search in Rotated Sorted Array 解题报告
Search in Rotated Sorted Array Suppose a sorted array is rotated at some pivot unknown to you before ...
- 【机器学习】K-Means算法
K-Means算法是一种cluster analysis的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法. 问题 K-Means算法主要解决的问题如下图所示.我们可以看到, ...
- C#学习笔记(25)——用刻盘器批量从U盘删除添加文件
说明(2017-11-17 14:46:05): 1. 因为经常要从U盘里面删除版本,然后添加版本,每次都要几个人手动复制粘贴,费时费力,就花了一下午时间写了个程序,自动删除和添加版本. 2. Dri ...
- LR中,URL -based script与HTML -based script区别
在Web(HTTP/HTML)录制中,有2种重要的录制模式.用户该选择那种录制模式呢?HTML-mode录制是缺省也是推荐的录制模式.它录制当前网页中的HTML动作.在录制会话过程中不会录制所有的资源 ...
- HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成增删改查功能
其实HBase/LevelDB等系统,背后都应用了Log-structured merge tree.HBase的写操作有两个步骤:1) 写入HLog(防止宕机丢失数据), 2) 写入对应的Memst ...
- sphinx/Coreseek 4.1 执行make出错
参考的网址: http://blog.csdn.net/jcjc918/article/details/39032689 configure正确之后,执行make,出现如下的报错信息 configur ...
- windows和linux文件的转换
由于windows与unix系统的换行不一致,因此需要相互之前的格式转换 只需要在linux上执行 dos2unix filename 将windows下的文本文件转换成linux上可以浏览的文件 u ...