zoukankan      html  css  js  c++  java
  • mysqldump 5.7

    简介
    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服务器上。
     
  • 相关阅读:
    我记录网站综合系统 技术原理解析[4:我记录框架 路由系统]
    我记录网站综合系统 技术原理解析[番外篇:自己做Stopwatch]
    我记录网站综合系统 技术原理解析[0:简介(代序) 1.7Beta源代码下载开始]
    我记录网站综合系统 技术原理解析[5:JSON 序列化 反序列化]
    一个网站的诞生 MagicDict未来予想図3 [表格的动态增加行和删除行,高手绕路]
    一个网站的诞生 MagicDict未来予想図2 [单页面多个submit的实现,高手绕路]
    我记录网站综合系统 技术原理解析[2:C# 水印和验证码的制作]
    我记录网站综合系统 技术原理解析[3:我记录框架处理流程]
    一个网站的诞生 MagicDict未来予想図4 [表格的动态增加行和删除行,完整版]
    我记录网站综合系统 技术原理解析[1:我记录的整体框架的简介]
  • 原文地址:https://www.cnblogs.com/gjb724332682/p/8610175.html
Copyright © 2011-2022 走看看