使用mysqldump命令进行mysql数据库备份
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数据库备份的更多相关文章
- mysql数据库备份及恢复命令mysqldump,source的用法
还原一个数据库:mysql -h localhost -u root -p123456 www<c:/www.sql 备份一个数据库:mysqldump -h localhost -u root ...
- MySQL数据库备份--mysqldump用法
导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出. ...
- MySQL数据库备份命令
原文参考:MySQL数据库备份的命令 - 司南 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql备 ...
- mysql数据库备份与还原命令
还原一个数据库:mysql -h localhost -u root -p123456 www 备份一个数据库:mysqldump -h localhost -u root -p123456 www ...
- MySQL数据库备份和还原的常用命令
其实很多情况下mysql备份就是采用了这些命令,例如: mysql导入和导出数据 linux自动定时备份web程序和mysql数据库 备份MySQL数据库的命令 mysqldump -hhostnam ...
- mysqldump常用于MySQL数据库逻辑备份
mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...
- Mysql数据库备份和还原常用的命令
Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的操作,下 ...
- [转]MySQL数据库备份和还原的常用命令小结
MySQL数据库备份和还原的常用命令小结,学习mysql的朋友可以参考下: 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword datab ...
- 在给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 ...
随机推荐
- 算法初步---基本的数据结构(java为例)
最近搞算法,觉得超级吃力的,一直以为数学好的,数学可以考试满分,算法一定没什么问题,贱贱地,我发现我自己想多了,还是自己的基础薄弱吧,今天我来补补最基础的知识. 算法(Algorithm)是指解题方案 ...
- Elasticsearch 使用 php curl 插入数据
<?php /** * Created by PhpStorm. * User: func7 * Date: 2018/11/8 * Time: 11:24 */ set_time_limit( ...
- [笔记] Git 冲突处理
这是一篇关于 git 解冲突的笔记,没有什么干货. TortoiseGit 小乌龟 通常情况下,会比较喜欢使用小乌龟解冲突,详见:git 使用 tortoisegit 解冲突 但部分复杂的场景,反而需 ...
- C# 去除数字中多于的0
decimal i = decimal.Parse(Console.ReadLine()); Console.WriteLine((i).ToString(")); Console.Writ ...
- a标使用window.open()方法
<a href="javascript:window.open('../Left_B/L_Gong_gao_Index', 'TencentLogin', 'width=1920px, ...
- iframe子元素无法全屏
最近做的项目中遇到的问题: 在最新的Chrome浏览器中,全屏功能正常 在旧版本Chrome浏览器中(与最新版版本号相差二十左右),全屏功能无效 在IE11浏览器中,全屏功能无效 反复排查,发现该项目 ...
- Alpha七天冲刺
一. 原计划冲刺甘特图 二. 七天冲刺博客 1. https://www.cnblogs.com/liujiamei/p/11870107.html 2. https://www.cnblogs.co ...
- python通过连接池连接redis,操作redis队列
在每次使用redis都进行连接的话会拉低redis的效率,都知道redis是基于内存的数据库,效率贼高,所以每次进行连接比真正使用消耗的资源和时间还多.所以为了节省资源,减少多次连接损耗,连接池的作用 ...
- redis高并发总结
Redis是单线程的,省去了很多上下文切换线程的时间:(官方答案:因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽.既然单线程容易实现, ...
- 01-Redis 简单介绍
Redis 简单介绍 1.Redis 是什么 Redis 是一种基于键值对的 NoSQL 数据库,与很多键值对数据库不同, redis 中的值可以有 string, hash , list , set ...