MySQL
MySQL高可用配置
MySQL Slave状态参数详解
基于二进制日志文件的复制
使用全局事务标识符GTID复制
MySQL安装升级
MySQL RPM包安装参考
MySQL编译化安装参考
MySQL Server版本升级
MySQL 操作手册/说明
MySQL导入导出操作
库,表,字段的字符集修改方法
根据字段生成自定义SQL语句
MySQL查询流程概述
MySQL 常用脚本
MySQL数据库冷备脚本
MySQL内存占用分析
MySQL内存消耗分析
检查MySQL引起的高内存占用
InnoDB下的内存分析和优化计算
MySQL常见问题
MySQL告警:Aborted connection日志的分析
MySQL使用命令kill进程后出现killed死锁问题
从库重起初始化relaylog失败
安全插件Connection-Control导致无法登录的问题
MySQL性能优化
MySQL查询慢性能分析
本文档使用 MrDoc 发布
-
+
home page
MySQL导入导出操作
# 7、MYSQL的备份和恢复 > **提示:使用mysqldump备份时,加入--compact参数可以不输出注释等信息,但不建议生产使用** ------------ ## 7.1、逻辑备份 > 物理备份是将数据通过磁盘拷贝,逻辑备份是通过命令备份 **建议使用第二种,含有-B参数的命令,会增加use参数** ```bash [root@nginx1 ~]# mysqldump –u用户 -p 数据库名(或库名.表名) > ./mysql.sql ``` 提示:-B参数是关键,表示接多个库,并且增加use db,和create database db的信息。 ```bash [root@nginx1 ~]# mysqldump -u用户 -p密码 -B 库名 > mysql_bak.sql ``` 注意:-p后无空格 压缩备份数据,压缩效能达到1倍 ```text [root@nginx1 ~]# mysqldump -u用户 -p密码 -B 库名|gzip > mysql_bak.sql.gz ``` 多库备份方式,后可接压缩参数 ```text [root@nginx1 ~]# mysqldump -u用户 -p密码 -B 库名1 库名2 > mysql_bak.sql ``` 备份特定数据库下的特定表 ```text [root@nginx1 mysql]# mysqldump -uroot -padmin 库名 表名1 表名2 表名* > 备份文件名 ``` 只导出表结构 不导出数据 ```text mysqldump -d 数据库名 -u root -p > xxx.sql ``` 导出数据不导出结构 ```bash mysqldump -t 数据库名 -uroot -p > xxx.sql ``` 导出特定表的结构 ```text mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql ``` 忽略指定表后导出库 ``` mysqldump -uroot -padmin 库名 --ignore-table=表名 > backup.dump ``` ------------ ### 全库备份方式 **严重警告:在使用-A参数执行全库备份时,切记一定不可使用-B参数指定数据库,否则会导致命令冲突,mysql不会执行备份操作,而且还会报错,使备份文件中仅含有报错信息。** > 在全库备份时,如果使用了主从复制,则建议在从库进行全量备份,并使用如下语句停用线程,可使正常接收主库增量日志但在备份期间不对从库做出修改 停用IO线程(进行数据备份) ```sql root|(none)_>stop slave sql_thread; Query OK, 0 rows affected (0.00 sec) ``` 启用IO线程(备份完毕后重启线程,写入数据) ```text root|(none)_>start slave sql_thread; Query OK, 0 rows affected (0.00 sec) ``` 全库备份 ```text [root@nginx1 ~]# mysqldump -u用户 -p密码 -A >/mnt/mysql_all_back.sql ``` ## 7.2、备份后检查数据 > 会过滤掉含有#、/、空行、和--的行 ```bash [root@nginx1 ~]# grep -Ev "#|\/|^$|--" mysql_bak.sql ``` ## 7.3、恢复 ## 7.3.1、简单数据库恢复 ```bash [root@nginx1 ~]# mysql –u 用户 –p密码 库 < 备份文件 ``` 或者 ```sql mysql> source 备份文件 ``` ### 7.3.2、启用gzip压缩的数据库恢复 ```bash [root@nginx1 ~]# gzip -d 备份文件 [root@nginx1 ~]# mysql –u 用户 –p密码 库 < 备份文件 ``` ### 7.3.3、单库多表的恢复方式 恢复特定数据库下的数据表备份,前提是要数据库名已存在 ```text [root@nginx1 ~]# for tbname in `ls *.sql`;do mysql -u用户 -p密码 数据库名 < ${tbname};done ``` ### 7.3.4、多库全表的恢复方式 ```text [root@nginx1 ~]# for dbname in `ls *.sql`;do mysql -u用户 -p密码 < ${dbname};done ```
Nathan
Aug. 20, 2021, 11:28 a.m.
转发文档
Collection documents
Last
Next
手机扫码
Copy link
手机扫一扫转发分享
Copy link
Markdown文件
PDF文件
Docx文件
share
link
type
password
Update password