VPS测评 VPS推荐 VPS优惠
Linux运维

MYSQL备份工具mysqldump的用法

MYSQL备份的内容通常包括:

  • 数据库的数据
  • 二进制日志、InnoDB的事务日志
  • 用户账号、权限设置、程序代码(存储过程、函数、触发器、事件调度器)
  • 配置文件

mysqldump 备份工具

mysqldump是目前最常用的MYSQL备份工具,它是一种逻辑备份工具,可以在不停止MYSQL服务的同时进行数据备份,不会影响互联网业务的正常运行。虽然直接拷贝数据库中的所有文件也可以实现备份(冷备份),方法简单粗暴,但是冷备份需要先停止服务,所以对于一些需要24小时不间断运行的服务来说,不建议使用冷备份。mysqldump工具可以结合二进制日志进行日常的备份还原工作。

命令格式

mysqldump [OPTIONS] database [tables] #只备份数据库中的表,不备份数据库本身,还原时需要自行创建数据库
mysqldump [OPTIONS] -B DB1 [DB2 DB3...] #备份多个数据库(包括数据库本身)
mysqldump [OPTIONS] -A [OPTIONS] #备份所有数据库(包含数据库本身)

选项

-A, --all-databases #备份所有数据库,含create database
-B, --databases DB1 DB2 ... #指定备份的数据库,含create database
-E, --events #备份相关的所有event scheduler
-R, --routines #备份所有存储过程和自定义函数
--triggers:#备份表相关触发器,默认启用,用--skip-triggers,不备份触发器
--default-character-set=utf8mb4 #指定字符集
--master-data[=#]: #此选项使用之前需要启用二进制日志,有1或者2两种配置,含义如下
1:所备份的数据之前加一条记录为CHANGE MASTER TO语句,非注释。默认值,适合于主从复制多机使用。
2:记录为被注释的#CHANGE MASTER TO语句,适合于单机使用,适用于备份还原。
-F,--flush-logs #备份前滚动日志。配合-A 或 -B 选项时,会导致刷新多次数据库。建议在同一时刻执行转储和日志刷新,可通过和--single-transaction或-x,--master-data 一起使用实现,此时只刷新一次二进制日志。
--compact #去掉注释,适合调试,节约备份占用的空间,生产环境中不使用此选项
-d, --no-data #只备份表结构,不备份数据,即只备份create table。
-t, --no-create-info #只备份数据,不备份表结构,即不备份create table
-n,--no-create-db #不备份create database,可被-A或-B覆盖
--flush-privileges #备份mysql或相关时需要使用
-f, --force #忽略SQL错误,强行执行
--hex-blob #使用十六进制符号转储二进制列,当有包括BINARY、VARBINARY、BLOB、BIT的数据类型的列时使用,避免乱码
-q, --quick #不缓存查询,直接输出,加快备份速度

InnoDB建议的备份方式

存放备份的文件夹需要提前创建,否则备份失败。

mkdir /backup
mysqldump -uroot -p -A -F --single-transaction --master-data=2 --default-character-set=utf8mb4| gzip > /backup/all_`date +%F`.sql.gz

拿我的wordpress数据库做个备份

导出数据

mysqldump -uroot -p -A -F --single-transaction --master-data=2 --default-character-set=utf8mb4| gzip > /backup/all_`date +%F`.sql.gz

复制到另一台远程服务器(需要输入密码或者提前做免密验证)

rsync -a --delete /backup/all_2022-06-30.sql.gz 154.17.22.52:/backup/

在备份服务器解压缩

gzip -d /backup/all_2022-06-30.sql.gz 

安装MYSQL服务(ubuntu系统我使用的APT,CENTOS请用YUM)

apt -y install mysql-server

登录数据库

mysql -uroot -p

导入数据

source /backup/all_2022-06-30.sql;
wordpress数据库备份成功
未经允许不得转载:青蛙主机 » MYSQL备份工具mysqldump的用法

VPS相关常用工具

PING测试工具自用毛子接码站