温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysqldump应该如何更好的使用

发布时间:2020-06-02 18:05:44 来源:网络 阅读:218 作者:三月 栏目:MySQL数据库

下文给大家带来关于mysqldump应该如何更好的使用,感兴趣的话就一起来看看这篇文章吧,相信看完mysqldump应该如何更好的使用对大家多少有点帮助吧。

'MYISAM': ' -v -E -e -R --triggers -F  -n --opt --master-data=2 --hex-blob -B ',
'INNODB': ' -v -E -e -R --triggers -F --single-transaction -n --opt --master-data=2 --hex-blob -B '

参数说明:
-v:verbose模式,此模式会输出更多有关程序的信息。

--events,-E:使用事件调度器完成备份,但是需要数据库相关权限。

-- extended-insert, -e:会使用列表写入INSERT,即一条语句插入多个值,这样会是备份文件更小。

--routines, -R:包括存储程序(过程和函数)的倾倒数据库输出。这个选项需要mysql.proc表的SELECT权限。使用,例程生成的输出包含创建过程和创建函数语句创建例程。然而,这些语句不包括属性,如例程创建和修改时间戳,所以当例程.重新加载,创建时间戳等于重新加载时间。如果你需要创建例程和原来的时间戳属性,不使用,例程。相反,转储和重载mysql的内容。proc直接表,使用MySQL账户有合适的MySQL数据库特权。

--triggers:会在导出每个表时都导出触发器,不过需要具有TIGGER的权限,此选项默认启用。

--flush-logs,-F:在备份前刷新MySQL云服务器的日志,此选项需要RELOAD权限。如果你在--all-databases情景下使用此选项,则会在每个数据库时刷新logs。 --lock-all-tables, --master-data, or (as of MySQL 5.5.21) --single-transaction时:日志只会被刷新一次,执行时会加表锁。如果你想在备份时刷新日志,--lock-all-tables, --master-data, or --single-transaction.配合此选项使用。

--no-create-db, -n:在给出--databases 或 --all-databases选项时,不执行CREATE DATABASE 指令

--hex-blob:包含有二进制信息的列将会由十六进制输出(比如,‘abc’,将会输出为 0x616263,受影响的数据类型:BINARY, VARBINARY, the BLOB types, and BIT

--database,-B:备份制定数据库。一般来说,mysqld对待name参数时,第一个参数作为数据库名,紧随其后的作为表名。但是在使用这个选项时,会将所有name参数作为数据库名进行备份。在每一个数据库备份前都会添加CREATE DATABASE 与 USE指令。

--opt指令相当于--add-drop-table, --add-locks, --create-options, --disable-keys, --extended-insert, --lock-tables, --quick, a和 --set-charset,以上这些选项是默认的,因为--opt是默认使用的选项。

--master-data=2 CHANGE MASTER TO 被编写为一个SQL注释

--single-transaction参数的作用,设置事务的隔离级别为可重复读,即REPEATABLE READ,这样能保证在一个事务中所有相同的查询读取到同样的数据,也就大概保证了在dump期间,如果其他innodb引擎的线程修改了表的数据并提交,对该dump线程的数据并无影响,在这期间不会锁表。

看了以上关于mysqldump应该如何更好的使用详细内容,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI