1、用法

mysqldump -uroot -p --databases test > /home/test.sql
mysqldump -uroot -h127.0.0.1 -p --databases test --single-transaction --set-gtid-purged=off --max_allowed_packet=512M > /home/test.sql

2、参数说明

-uroot:数据库用户名为root

-h172.16.43.131:指定mysql数据库IP地址

-p:密码

--databases test:设置导出的数据库为test,可以同时导出多个库,库名用空格隔开,如--databases test1 test2,也可以导出所有库,使用--all-databases参数

--single-transaction:设置事务隔离级别为可重复读,保证dump期间,其他线程对提交的数据不会影响本次数据,改期间也不会锁表

--lock-all-tables:锁所有表,相对--single-transaction,dump期间,其他线程都不能提交数据(默认策略)

--no-data:不备份数据,只备份数据库结构

--set-gtid-purged=off:关闭全局事务 ID (GTID)

--max_allowed_packet=512M:设置max_allowed_packet大小,值最好等于my.conf配置的大小,否则会出现Got packet bigger than 'max_allowed_packet' bytes when dumping table `xxx` at row: 3540错误

更多参数说明可查看官网:https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html,或者使用命令 mysqldump --help

3、压缩备份

mysqldump -uroot -p --databases test | gzip > /home/test.sql.zip

注意:导出的备份文件中已 /*! 开头,以 */; 结尾的语句不是注释信息,mysql进行了扩展,该部分的语句是可以被执行的。

4、还原数据库

mysql -uroot -p              // 登陆数据库
source /home/test.sql; // 执行数据库脚本

小技巧:使用上面的办法还原库时库名和原始库名是一样,如想换一个名字,必须修改备份文件中的库名,如下图中的test

但备份文件很大时,我们很难找到一个编辑器打开这个文件并进行修改,此时我们可以用到linux系统的sed命令,将字符进行替换

sed -i '1,/DROP TABLE/s/`test`/`test_db`/g' test.sql

出现的错误:

1、mysqldump: Error 3024: Query execution was interrupted, maximum statement execution time exceeded when dumping table `base_uploadfileblob` at row: 5549

max_execution_time设置过小。默认为0,表示不限制时间,可修改/etc/my.conf文件进行配置,单位为毫秒,如:max_execution_time=100000

使用mysqldump命令进行mysql数据库备份的更多相关文章

  1. mysql数据库备份及恢复命令mysqldump,source的用法

    还原一个数据库:mysql -h localhost -u root -p123456 www<c:/www.sql 备份一个数据库:mysqldump -h localhost -u root ...

  2. MySQL数据库备份--mysqldump用法

    导出要用到MySQL的mysqldump工具,基本用法是:   shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出. ...

  3. MySQL数据库备份命令

    原文参考:MySQL数据库备份的命令 - 司南 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql备 ...

  4. mysql数据库备份与还原命令

    还原一个数据库:mysql -h localhost -u root -p123456 www 备份一个数据库:mysqldump -h localhost -u root -p123456 www ...

  5. MySQL数据库备份和还原的常用命令

    其实很多情况下mysql备份就是采用了这些命令,例如: mysql导入和导出数据 linux自动定时备份web程序和mysql数据库 备份MySQL数据库的命令 mysqldump -hhostnam ...

  6. mysqldump常用于MySQL数据库逻辑备份

    mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...

  7. Mysql数据库备份和还原常用的命令

    Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的操作,下 ...

  8. [转]MySQL数据库备份和还原的常用命令小结

    MySQL数据库备份和还原的常用命令小结,学习mysql的朋友可以参考下: 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword datab ...

  9. 在给mysql数据库备份时,报错: mysqldump: Got error: 145: Table '.\shengdaxcom\pre_forum_thread' is marked as c rashed and should be repaired when using LOCK TABLES

    在给mysql数据库备份时,报错: mysqldump: Got error: 145: Table '.\shengdaxcom\pre_forum_thread' is marked as cra ...

随机推荐

  1. LeetCode 1292. Maximum Side Length of a Square with Sum Less than or Equal to Threshold

    题目 我是按照边进行二分的 class Solution { public: int sum[100005]; int a[305][305]; int maxSideLength(vector< ...

  2. MySQL出现Waiting for table metadata lock的原因以及解决方法(转)

    MySQL在进行alter table等DDL操作时,有时会出现Waiting for table metadata lock的等待场景.而且,一旦alter table TableA的操作停滞在Wa ...

  3. c# 移除类中所有事件的绑定

    单例中为防止多处注册事件引起异步触发时发生报错,网上找了一圈没找到想要的方法. [异常类型]:ArgumentException[异常信息]:该委托必须有一个目标(且仅有一个目标). 结合网上资料整合 ...

  4. js和C#互相调用

    快速上手 js和C#互相调用. C#调用js比较容易.JS调用C#代码,现有两种方法.老方法的缺点是只支持单页,如果切换页面,原有创建的变量就失效了.新方法没有这些问题. 老方法: Cefsharp ...

  5. 前端开发JS——数组

    25.数组 1)声明数组: ①构造函数创建数组 var arr = new Array(); console.log(arr):        //[]   var arr = new Array(2 ...

  6. webpack4 css modules

    demo 代码点此,webpack4 中通过 css-loader 开启 css 模块化, 开始前先做点准备工作. 不了解 css 模块化的,可以前往查看github_css_modules. ##准 ...

  7. 关于网页布局中常见的margin: 0px ; padding: 0px; 总结

    我们在网页布局中常用到margin: 0px; padding: 0px;  但是在大型的网站布局中通常不这样写通常是按下面这种方式. ul, li, ol, dl, dt, dd, div, p, ...

  8. SAP MM MIGO过账报错 - 用本币计算的余额 - 之对策

    SAP MM MIGO过账报错 - 用本币计算的余额 - 之对策 使用MIGO事务代码对采购订单4500000191,执行收货,系统报错: 详细错误信息如下: 用本币计算的余额 消息号 F5703 诊 ...

  9. AI2(App Inventor 2)离线版服务器(AI伴侣2.47版)

    提供这个版本的原因: 与app.gzjkw.net的源代码版本尽可能的接近,这样导入app.gzjkw.net源文件的时候不会有“该项目由新版App Inventor系统创建,我们仍然尝试将其加载,但 ...

  10. Jmeter-While控制器

    Jmeter-While控制器 背景: 用作循环的控制器里, 最常用的就’循环控制器’和’While控制器’. 循环控制器仅能定义循环次数(永远和自定义次数). 缺乏判断能力.While控制器正好弥补 ...