简介
mysqldump是官方自带的文本格式备份工具,简单实用,一般在Mysql安装目录的bin目录下。备份文件默认是SQL格式,它由一系列语句例如CREATE TABLE、INSERT等组成。mysqldump备份文件可以利用mysql程序重新加载到数据库里。
 
备份
基本参数
-h:要备份的数据库所在的主机ip或主机名
-P:端口,默认是3306
-u:登录的用户名
-p:表示需要输入用户密码才能登录
--all-database:备份此主机上的所有数据库
--databases:备份一到多个数据库
--tables:指定某些表
--no-data:不备份数据
--no-create-info:仅备份数据
>:重定向符号
--default-character-set:指定客户端和连接相关的字符集character_set_client、character_set_results、character_set_connections,默认是utf8,列值会被转换为这个字符集,在导出启用了utf8mb4的数据库时最好设置为utf8mb4
-V:版本信息
 
全部数据库
mysqldump --all-databases -h 127.0.0.1 -u root -p --default-character-set utf8mb4 >all_databases.sql
此命令将备份全部数据库,备份文件中会有CREATE DATABASE xx IF NOT EXISTS和USE xx语句。
 
指定数据库
mysqldump --databases db1 db2 -h 127.0.0.1 -u root -p --default-character-set utf8mb4 >databases.sql
此命令将备份db1和db2两个数据库,备份文件中会有CREATE DATABASE xx IF NOT EXISTS和USE xx语句。
 
指定表
mysqldump --databases db1 --tables tb1 -h 127.0.0.1 -u root -p --default-character-set utf8mb4 >tables.sql
此命令将备份数据库db1的tb1表,备份文件中不会有CREATE DATABASE xx IF NOT EXISTS和USE xx语句,而只会有DROP TABLE IF EXISTS xx和CREATE TABLE xx语句。且此命令不能同时指定多个数据的多个表。
 
优化
--opt:相当于 --add-drop-table、--add-locks、--create-options、--quick、--extended-insert、--lock-tables,、--set-charset、--disable-keys
--skip-opt:关闭--opt
--add-drop-table:备份文件中,CREATE TABLE xx前会加上DROP TABLE IF EXISTS xx
--add-locks:备份文件中,INSERT语句前后加LOCK TABLES xx WRITE和UNLOCK TABLES
--create-options:备份文件中,包括所有MySQL特定的创建选项
--quick:不缓冲查询,直接备份到标准输出
--extended-insert:备份文件中,生成一次插入多条数据行的INSERT语句,一条INSERT语句包含多个VALUES,虽然降低了可读性,但是恢复时加快了加载速度且减少空间占用
-lock-tables:备份时锁住所有表以便读取数据
--set-charset:添加 SET NAMES default_character_set 到备份文件中
--disable-keys:对于每个表,用/*!40000 ALTER TABLE tbl_name DISABLE KEYS */;和/*!40000 ALTER TABLE tbl_name ENABLE KEYS */;语句引用INSERT语句。这样可以更快地导入dump出来的文件,因为它是在插入所有行后创建索引的。该选项只适合MyISAM表
--opt默认是开启的,它会加快备份速度,但是它也会锁表。
 
存储过程、触发器
--routines:备份存储过程
--triggers:备份触发器
 
事务
--single-transaction:把备份操作放到一个事务里执行。
 
刷新二进制日志
--flush-logs:关闭当前二进制日志并创建一个新的二进制日志文件,因此备份后的数据修改操作将从新的二进制日志文件开始记录。
 
恢复备份
mysql --default-character-set utf8mb4 -h 127.0.0.1 -u root -p </home/test/Desktop/databases.sql
此命令将在127.0.0.1服务器上执行databases.sql文件。
 
远程备份
mysqldump -h 127.0.0.1 -u root -p --databases db1 | mysql -h 192.168.22.133 -u root -p
此命令将127.0.0.1服务器上的db1数据库备份到192.168.22.133服务器上。
 

mysqldump 5.7的更多相关文章

  1. MySQL自动化运维之用mysqldump和mysqlbinlog实现某一数据库的每周全备和每天差异备份,并添加到执行计划【热备】

    案例: 线上有一数据库,需要每周全备一次,每天差备一次[安全起见还是差备吧,不要增备,不要吝啬磁盘哦,而且差备恢复还很快] 1.每周对数据库hellodb做完全备份 crontab任务计划: * * ...

  2. mysqldump数据库同步遇到的问题

    1.同步数据是遇到 没有 lock database权限,报 " mysqldump: Got error: 1044: Access denied for user 'spider_dat ...

  3. mysqldump和xtrabackup备份原理实现说明

    背景: MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现. ...

  4. MySQL mysqldump数据导出详解

    介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具:它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明 ...

  5. mysqldump的实现原理

    对于MySQL的备份,可分为以下两种: 1. 冷备 2. 热备 其中,冷备,顾名思义,就是将数据库关掉,利用操作系统命令拷贝数据库相关文件.而热备指的是在线热备,即在不关闭数据库的情况下,对数据库进行 ...

  6. MySQL备份命令mysqldump参数说明与示例

    1. 语法选项说明 -h, --host=name主机名 -P[ port_num], --port=port_num用于连接MySQL服务器的的TCP/IP端口号 --master-data这个选项 ...

  7. MySQL备份还原——mysqldump工具介绍

    mysqldump是一款MySQL逻辑备份的工具,他将数据库里面的对象(表)导出成SQL脚本文件.有点类似于SQL SEVER的"任务-生成脚本"的逻辑备份功能.mysqldump ...

  8. mysqldump: Error: Binlogging on server not active

    在学习使用mysqldump时,使用mysqldump备份时,遇到了下面两个错误: [root@DB-Server backup]# ./mysql_dump_back.sh Warning: Usi ...

  9. mysqldump:Couldn't execute 'show create table `tablename`': Table tablename' doesn't exist (1146)

    遇到了一个错误mysqldump: Couldn't execute 'show create table `CONCURRENCY_ERRORS`': Table INVOICE_OLD.CONCU ...

  10. mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts' when using LOCK TABLES

    AutoMySQLBackup备份时,出现mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@' ...

随机推荐

  1. sql 游标(理论)

    游标是处理结果集的一种机制 --声明游标 --ISO 语法 DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_state ...

  2. Asp.NetCore 3.1 使用AutoMapper自动映射转换实体 DTO,Data2ViewModel

    1:什么是AutoMapper? 下面为AutoMapper官方的解释: AutoMapper是一个对象-对象映射器.对象-对象映射通过将一种类型的输入对象转换为另一种类型的输出对象来工作. 使Aut ...

  3. 【WEB自动化测试之控件定位】基于HTML5控件的唯一控件属性定位

      一.WEB控件定位是什么 要想弄懂这个问题,我们还是基于实践来学习.我们先来看一条入门级别自动化测试用例的构成. DemoCase:正确用户名和密码登录博客园,登录成功 URL: https:// ...

  4. laravel Application实例化后两个方法

    laravel容器初始化registerBaseServiceProviders方法 上篇讲解了laravel容器的基本使用和原理,这篇继续Application构造方法中的registerBaseS ...

  5. Python 逆向抓取 APP 数据

    今天继续给大伙分享一下 Python 爬虫的教程,这次主要涉及到的是关于某 APP 的逆向分析并抓取数据,关于 APP 的反爬会麻烦一些,比如 Android 端的代码写完一般会进行打包并混淆加密加固 ...

  6. 【Pytorch-入门】windows下的环境搭建(经验证成功~)

    前言 实验需要,之前使的tensorflow[因为自己手边的服务器都是windows环境TT...],但身边的师兄们用的都是pytorch,自己查了查现在做科研基本上都是用的pytorch,而且现在p ...

  7. HDU - 3499 -(Dijkstra变形+枚举边)

    Recently, Shua Shua had a big quarrel with his GF. He is so upset that he decides to take a trip to ...

  8. [BUUOJ记录] [GXYCTF2019]BabyUpload

    CTF三大骗局:Baby Easy Funny,本题主要考察.htaccess文件解析文件.文件类型检测绕过 打开题目给了一个上传点,上传一个php文件看看过滤规则 “后缀名不能有ph”直接禁掉了所有 ...

  9. Maven 仓库镜像设置

    <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>al ...

  10. github学生认证——申请学生开发包

    写在前面 申请学生认证的好处: GitHub学生的免费AWS Educate入门帐户,价值100美元. 专业的桌面IDE:IntelliJ IDEA,PyCharm等.学生的免费订阅,每年更新一次. ...