导出mysql某个库的全部存储过程
mysqldump -t -d -R dbname>xx.sql
Mysql备份语句及参数说明
mysqldump -umysql -ppassword -P 3308 -h 127.0.0.1 --default-character-set=utf8 -c --triggers -R --hex-blob -x --opt vtms3000 qdevices > 3000.sql
-- 简化
mysqldump -umysql -ppassword -P 3308 -h 127.0.0.1 --default-character-set=utf8 -c --hex-blob -x --opt test > test.sql
-- 只导出数据
mysqldump -umysql -ppassword -P 3308 -h 127.0.0.1 --default-character-set=utf8 -c -i -t --opt vtms3000 qdevices > 3000.sql
-- mysqldump -h 10.30.4.89 -umysql -ppassword --default-character-set=utf8 --opt --extended-insert=false --triggers -R -d --hex-blob -x vtms3000_new > vtms3000.sql
--triggers 同时导出触发器
--routines,-R 导出存储过程以及自定义函数
--no-data,-d 不导出任何数据,只导出数据库表结构。
--lock-all-tables,-x 在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性。
--hex-blob 使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响到的字段类型有 BINARY、VARBINARY、BLOB。
--no-create-info,-t 只导出数据,而不添加 CREATE TABLE 语句。
-P,--port=# 端口(必须是大写的端口)
--default-character-set=charset 指定导出数据时采用何种字符集
--complete-insert,-c 导出的数据采用包含字段名的完整 INSERT 方式,也就是把所有的值都写在一行。
这么做能提高插入效率,但是可能会受到 max_allowed_packet 参数的影响而导致插入失败。
因此,需要谨慎使用该参数,至少我不推荐。
经过测试,无以上问。测试qregkey100w条,qtablelog321.9w条,max_allowed_packet=25165824,net_buffer_length,备份,在还原(备份文件221 MB)。无存在以上问题
--single-transaction 该选项在导出数据之前提交一个 BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于事务表,例如 InnoDB 和 BDB。
本选项和 --lock-tables 选项是互斥的,因为 LOCK TABLES 会使任何挂起的事务隐含提交。
要想导出大表的话,应结合使用 --quick 选项。
-opt 这只是一个快捷选项,等同于同时添加
--add-drop-tables
--add-locking
--create-option
--disable-keys 告诉 mysqldump 在 INSERT 语句的开头和结尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和 /*!40000 ALTER TABLE table ENABLE KEYS */; 语句,这能大大提高插入语句的速度,因为它是在插入完所有数据后才重建索引的。该选项只适合 MyISAM 表。
--extended-insert 默认情况下,mysqldump 开启 --complete-insert 模式,因此不想用它的的话,就使用本选项,设定它的值为 false 即可。
--lock-tables 不过是锁定当前导出的数据表,而不是一下子锁定全部库下的表。本选项只适用于 MyISAM 表,如果是 Innodb 表可以用 --single-transaction 选项
--quick
--set-charset 选项。
本选项能让 mysqldump 很快的导出数据,并且导出的数据能很快导回。该选项默认开启,但可以用 --skip-opt 禁用。
-i, --comments Write additional information.
--ignore-table=name Do not dump the specified table. To specify more than one
table to ignore, use the directive multiple times, once
for each table. Each table must be specified with both
database and table names, e.g.,
--ignore-table=database.table.
注意,如果运行 mysqldump 没有指定 --quick 或 --opt 选项,则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题。
--log-error=name Append warnings and errors to given file.
-T, --tab=name Create tab-separated textfile for each table to given
path. (Create .sql and .txt files.) NOTE: This only works
if mysqldump is run on the same machine as the mysqld
server.
Mysqldump的帮助文档导出来:
mysqldump --help > a.sql
请注意:文档的最后说明了mysqldump一些默认参数的配置,如果默认参数不符合要求,则必须进行人工重新赋予参数。如Port默认3306,而实际要3308。
参考文献
分享到:
相关推荐
mysql备份还原资料,mymysql备份还原资料mysql备份还原资料,sql备份还原资料,mysql备份还原资料
完整的 mysql 备份还原指令脚本;轻松实现mysql备份和恢复;在sqL等环境下测试通过。绝对可用
新宇Mysql备份还原大师是一款专门备份Mysql数据的工具,可以很方便的将数据库备份还原,如果您对数据库备份操作不熟悉,又没有专业的技术人员维护数据库,请使用本备份工具,让您无后顾之忧。
/// 备份数据库 /// public void bakup_db(string manual = "") { try { //String command = "mysqldump --quick --host=localhost --default-character-set=gb2312 --lock-tables --verbose --force --port...
javabean实现mysql备份还原 懂jsp就应该懂javabean
MYSQL备份还原不产生乱码!很不错的!
Mysql备份还原命令,命令记录起来比较麻烦,记录到文档中,方便使用
方便 、 好用、用于mysql备分还原的好工具。
在使用虚拟主机的情况下,MYSQL数据库备份真是个大麻烦。如果数据库的数据量略大,用PHPMYADMIN根本无法下载备份。而且由于添加数据库时,可能存在部分非法字符没有过滤的情况,下载后的数据库无法进行还原。 ...
mysql自动备份还原小程序 ,实现了一键备份或者还原操作
mysql 备份还原 mysql的 可以看看 应该对你有帮助
java实现对mysql数据库的备份与还原,可跨平台,windows与Linux通用,代码内含有利用注册表信息获取mysqldump命令实例
资源介绍:。易语言MYSQL数据库备份还原器源码。资源作者:。@易语言自学网。资源界面:。资源下载:。
代码为springBoot下对mysql数据库进行备份与恢复,代码为本人项目使用,绝对可用,若有疑问,可联系
通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用...
阿里MySQL备份恢复指南,参考参考,很简单的操作
mysql数据库备份还原类.rar
很简单的Mysql数据库备份还原工具, 备份的时候只要选择mysql/bin目录下的相应的备份程序即可
易语言MYSQL数据库备份还原器源码,MYSQL数据库备份还原器,复制目录,子程序_备份选定的数据库,子程序_还原指定还原点数据