IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> MySQL数据库备份&恢复(备份恢复)【备份策略二:mysqldump备份数据库】 -> 正文阅读

[系统运维]MySQL数据库备份&恢复(备份恢复)【备份策略二:mysqldump备份数据库】


【完全备份+增加备份,速度相对较慢,适合中小型数据库)(MyISAM是温备份,InnoDB是热备份】

语法样式

Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]

常用参数

  • –help
    显示帮助信息并退出。
    mysqldump --help

  • –user, -u
    指定连接的用户名。

  • –password, -p
    连接数据库密码

  • –port, -P
    连接数据库端口号

  • –host, -h(指定目的主机IP,可实现跨服务器备份
    需要导出的主机信息
    mysqldump -uroot -p --host=localhost --all-databases

  • –socket,-S(通常使用在多实例MySQL环境下区分不同数据库实例
    指定连接mysql的socket文件位置,默认路径/tmp/mysql.sock
    mysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock

  • –pipe(windows系统可用
    使用命名管道连接mysql
    mysqldump -uroot -p --host=localhost --all-databases --pipe

  • –all-databases , -A
    导出全部数据库。
    mysqldump -uroot -p --all-databases

  • –databases, -B(备份文件中带有创建数据库和切换对应数据库的语句,恢复时省去创建数据库和切换数据库的步骤
    导出几个数据库。参数后面所有名字参量都被看作数据库名。
    mysqldump -uroot -p --databases test mysql

  • –single-transaction(通常启用保证备份的一致性
    该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和–lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用–quick 选项。
    mysqldump -uroot -p --host=localhost --all-databases --single-transaction

  • –flush-logs(常用保证数据完整性
    开始导出之前刷新日志。
    请注意:假如一次导出多个数据库(使用选项–databases或者–all-databases),将会逐个数据库刷新日志。除使用–lock-all-tables或者–master-data外。在这种情况下,日志将会被刷新一次,相应的所有表同时被锁定。因此,如果打算同时导出和刷新日志应该使用–lock-all-tables 或者–master-data 和–flush-logs。
    mysqldump -uroot -p --all-databases --flush-logs

  • –default-character-set
    设置默认字符集,默认值为utf8
    mysqldump -uroot -p --all-databases --default-character-set=latin1

  • –tables
    覆盖–databases (-B)参数,指定需要导出的表名。
    mysqldump -uroot -p --host=localhost --databases test --tables test

  • –ignore-table
    不导出指定表。指定忽略多个表时,需要重复多次,每次一个表。每个表必须同时指定数据库和表名。例如:–ignore-table=database.table1 --ignore-table=database.table2 ……
    mysqldump -uroot -p --host=localhost --all-databases --ignore-table=mysql.user

  • –login-path=#
    从登录文件中读取此路径。

  • –comments
    附加注释信息。默认为打开,可以用–skip-comments取消
    mysqldump -uroot -p --all-databases (默认记录注释)
    mysqldump -uroot -p --all-databases --skip-comments (取消注释)

  • –events, -E
    导出事件。
    mysqldump -uroot -p --all-databases --events

  • –lock-all-tables, -x
    提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭–single-transaction 和–lock-tables 选项。
    mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables

  • –lock-tables, -l
    开始导出前,锁定所有表。用READ LOCAL锁定表以允许MyISAM表并行插入。对于支持事务的表例如InnoDB和BDB,–single-transaction是一个更好的选择,因为它根本不需要锁定表。
    请注意当导出多个数据库时,–lock-tables分别为每个数据库锁定表。因此,该选项不能保证导出文件中的表在数据库之间的逻辑一致性。不同数据库表的导出状态可以完全不同。
    mysqldump -uroot -p --host=localhost --all-databases --lock-tables

  • –no-create-db, -n
    只导出数据,而不添加CREATE DATABASE 语句。
    mysqldump -uroot -p --host=localhost --all-databases --no-create-db

  • –no-create-info, -t
    只导出数据,而不添加CREATE TABLE 语句。
    mysqldump -uroot -p --host=localhost --all-databases --no-create-info

  • –no-data, -d
    不导出任何数据,只导出数据库表结构。
    mysqldump -uroot -p --host=localhost --all-databases --no-data

  • –opt
    等同于–add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 该选项默认开启, 可以用–skip-opt禁用.
    mysqldump -uroot -p --host=localhost --all-databases --opt

–skip-opt
禁用–opt选项.
mysqldump -uroot -p --host=localhost --all-databases --skip-opt

使用示范(备份)

备份所有数据库

[root@localhost ~]# mysqldump -uroot -pMySql@123 -A > all.sql
[root@localhost ~]# cat all.sql | grep "Current Database:"
-- Current Database: `mysql`
-- Current Database: `db`
-- Current Database: `test`

备份单个数据库

[root@localhost ~]# mysqldump -uroot -pMySql@123 db > db_1.sql
[root@localhost ~]# cat db_1.sql | grep "Database:"
-- Host: localhost    Database: db

备份多个数据库

[root@localhost ~]# mysqldump -uroot -pMySql@123 -B test1 test2 > test1-2.sql
[root@localhost ~]# cat test1-2.sql | grep "Current Database:"
-- Current Database: `test1`
-- Current Database: `test2`

备份单张表

[root@localhost ~]# mysqldump -uroot -pMySql@123 db student > db_student.sql

备份多张表

[root@localhost ~]# mysqldump -uroot -pMySql@123 db student course > db_student-course.sql

备份数据结构

[root@localhost ~]# mysqldump -uroot -pMySql@123 -d db > db_nodata.sql

使用示范(恢复)

[root@localhost ~]# mysql -uroot -pMySql@123 < *.sql 
mysql> source ~/*.sql

注:路径和文件名按照实际

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:31:28  更:2022-04-29 12:33:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:52:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码