mysql怎么进行备份
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"mysql怎么进行备份",在日常操作中,相信很多人在mysql怎么进行备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"mysql怎么进行备份"的疑惑
千家信息网最后更新 2026年11月01日mysql怎么进行备份
这篇文章主要介绍"mysql怎么进行备份",在日常操作中,相信很多人在mysql怎么进行备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"mysql怎么进行备份"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
MySQL 5.5.47
备份路径 /backup/
安装
apt-get install percona-xtrabackup11
一、 全量备份
root@iZu1dc59z8tZ:/var/lib# innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123123 /backup/ InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oyand Percona LLC and/or its affiliates 2009-2013. All Rights Reserved.This software is published underthe GNU GENERAL PUBLIC LICENSE Version 2, June 1991.Get the latest version of Percona XtraBackup, documentation, and help resources:http://www.percona.com/xb/ubuntu160217 11:17:53 innobackupex: Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_file=/etc/mysql/my.cnf;mysql_read_default_group=xtrabackup' as 'root' (using password: YES).160217 11:17:53 innobackupex: Connected to MySQL server160217 11:17:53 innobackupex: Executing a version check against the server...160217 11:17:53 innobackupex: Done.IMPORTANT: Please check that the backup run completes successfully. At the end of a successful backup run innobackupex prints "completed OK!".innobackupex: Using mysql server version 5.5.47-0ubuntu0.14.04.1innobackupex: Created backup directory /backup/2016-02-17_11-17-53160217 11:17:53 innobackupex: Starting ibbackup with command: xtrabackup_55 --defaults-file="/etc/mysql/my.cnf" --defaults-group="mysqld" --backup --suspend-at-end --target-dir=/backup/2016-02-17_11-17-53 --tmpdir=/tmpinnobackupex: Waiting for ibbackup (pid=30486) to suspendinnobackupex: Suspend file '/backup/2016-02-17_11-17-53/xtrabackup_suspended_2'xtrabackup_55 version 2.1.8 for Percona Server 5.5.35 Linux (x86_64) (revision id: undefined)xtrabackup: uses posix_fadvise().xtrabackup: cd to /var/lib/mysqlxtrabackup: using the following InnoDB configuration:xtrabackup: innodb_data_home_dir = ./xtrabackup: innodb_data_file_path = ibdata1:10M:autoextendxtrabackup: innodb_log_group_home_dir = ./xtrabackup: innodb_log_files_in_group = 2xtrabackup: innodb_log_file_size = 5242880>> log scanned up to (3233814)[01] Copying ./ibdata1 to /backup/2016-02-17_11-17-53/ibdata1[01] ...done>> log scanned up to (3233814)xtrabackup: Creating suspend file '/backup/2016-02-17_11-17-53/xtrabackup_suspended_2' with pid '30487'160217 11:17:55 innobackupex: Continuing after ibbackup has suspended160217 11:17:55 innobackupex: Starting to lock all tables...160217 11:17:55 innobackupex: All tables locked and flushed to disk160217 11:17:55 innobackupex: Starting to backup non-InnoDB tables and filesinnobackupex: in subdirectories of '/var/lib/mysql'innobackupex: Backing up files '/var/lib/mysql/phpmyadmin/*.{frm,isl,MYD,MYI,MAD,MAI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}' (37 files)>> log scanned up to (3233814)innobackupex: Backing up files '/var/lib/mysql/mysql/*.{frm,isl,MYD,MYI,MAD,MAI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}' (72 files)innobackupex: Backing up files '/var/lib/mysql/performance_schema/*.{frm,isl,MYD,MYI,MAD,MAI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}' (18 files)innobackupex: Backing up files '/var/lib/mysql/blog/*.{frm,isl,MYD,MYI,MAD,MAI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}' (29 files)160217 11:17:56 innobackupex: Finished backing up non-InnoDB tables and files160217 11:17:56 innobackupex: Waiting for log copying to finishxtrabackup: The latest check point (for incremental): '3233814'xtrabackup: Stopping log copying thread..>> log scanned up to (3233814)xtrabackup: Creating suspend file '/backup/2016-02-17_11-17-53/xtrabackup_log_copied' with pid '30487'xtrabackup: Transaction log of lsn (3233814) to (3233814) was copied.160217 11:17:57 innobackupex: All tables unlockedinnobackupex: Backup created in directory '/backup/2016-02-17_11-17-53'160217 11:17:57 innobackupex: Connection to database server closed160217 11:17:57 innobackupex: completed OK!12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667681234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768completed OK! 表示备份成功。
还有很多其他常用的参数。
-stream=tar 压缩类型, 默认是输出到终端,如果保存为文件
innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=*** /backup/ --stream=tar > /backup/`date +"%Y%m%d_%H%M%S"`.tar#or gzip 压缩innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=*** /backup/ --stream=tar | gzip > /backup/`date +"%Y%m%d_%H%M%S"`.tar.gz123123
-parallel=4 -throttle=400 并行个数,根据主机配置选择合适的,默认是1个,多个可以加快备份速度。
二、 全量恢复
恢复备份文件要保证mysql datadir文件为空,否则会报错
测试恢复
service mysql stop #停止MySQLmv /var/lib/mysql/ /var/lib/mysql_bak #备份原mysql 的datadirmkdir /var/lib/mysql123123
恢复第一步:应用日志
如果加了压缩,需要解压
mkdir /backup/20160217_114521tar -ixvf /backup/20160217_114521.tar.gz -C /backup/20160217_1145211212
innobackupex --defaults-file=/etc/mysql/my.cnf --apply-log /backup/20160217_11452111
恢复第二步:拷贝文件到MySQL datadir
innobackupex --defaults-file=/etc/mysql/my.cnf --copy-back /backup/20160217_11452111
恢复第三步:修改文件权限,启动mysql服务。
chown mysql: /var/lib/mysql -Rservice mysql start1212
三、 增量备份
增量备份需要基于全备,先假设我们已经有了一个全备(/backup/20160217_114521),在该全表的基础上做增量备份。
第一次在数据库插入一条数据,在全备上做增量备份
innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123123 --incremental-basedir=/backup/20160217_114521 --incremental /backup/11
incremental-basedir=全备的目录
-incremental=增量备份的目录
第二次在数据库插入一条数据,在第一次增量备份上做增量备份
innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123123 --incremental-basedir=/backup/2016-02-17_12-15-30 --incremental /backup/11
incremental-basedir=在第一次增量备份的目录--incremental=增量备份的目录1212
备份目录下,有一个文件xtrabackup_checkpoints记录着备份信息,全备的信息如下:
root@iZu1dc59z8tZ:/backup# cat 20160217_114521/xtrabackup_checkpoints backup_type = full-preparedfrom_lsn = 0to_lsn = 3233814last_lsn = 3233814compact = 0root@iZu1dc59z8tZ:/backup# cat 2016-02-17_12-15-30/xtrabackup_checkpoints backup_type = incrementalfrom_lsn = 3233814to_lsn = 3234430last_lsn = 3234430compact = 0root@iZu1dc59z8tZ:/backup# cat 2016-02-17_12-1/xtrabackup_checkpoints 2016-02-17_12-15-30/ 2016-02-17_12-17-31/ root@iZu1dc59z8tZ:/backup# cat 2016-02-17_12-17-31/xtrabackup_checkpoints backup_type = incrementalfrom_lsn = 3234430to_lsn = 3234537last_lsn = 3234537compact = 012345678910111213141516171819201234567891011121314151617181920
从上面可以看出,增量备份的from_lsn正好等于全备的to_lsn。
四、 增量恢复
//测试恢复service mysql stop #停止MySQLmv /var/lib/mysql/ /var/lib/mysql_bak #备份原mysql 的datadirmkdir /var/lib/mysql12341234
恢复第一步:应用所有增量日志
1,应用全量的日志
innobackupex --defaults-file=/etc/mysql/my.cnf --apply-log --redo-only /backup/20160217_11452111
2,应用增量的日志
//第一次增量innobackupex --defaults-file=/etc/mysql/my.cnf --apply-log --redo-only /backup/20160217_114521 --incremental-dir=/backup/2016-02-17_12-15-30/ 1212
……
//最后一次增量innobackupex --defaults-file=/etc/mysql/my.cnf --apply-log /backup/20160217_114521 --incremental-dir=/backup/2016-02-17_12-17-31/1212
恢复第二步:拷贝文件到MySQL datadir
innobackupex --defaults-file=/etc/mysql/my.cnf --copy-back /backup/20160217_11452111
恢复第三步:修改文件权限,启动mysql服务。
chown mysql: /var/lib/mysql -Rservice mysql start
到此,关于"mysql怎么进行备份"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
备份
增量
文件
全备
目录
数据
日志
第一次
学习
应用
信息
拷贝
数据库
更多
权限
帮助
服务
测试
合适
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技企业
互联网是第几次科技革命的成果
深圳科技互联网
金融科技 互联网金融
互联网医疗科技
互联网金融科技创新
互联网科技ppt模板
顺玮阁互联网科技
互联网高科技企业
互联网科技创新企业排名
华中科技有哪些互联网大佬
互联网科技公司的市场部门
汽车互联网创新科技园
金融科技与互联网金融相同和不同
昊天互联网科技有限公司
半导体是互联网高科技吗
卡尔迅互联网科技有限公司
三亚科技创新互联网基地
恒生科技指数 中概互联网
10位科技互联网大佬
上海喔噻互联网科技有限公司
互联网科技小贷
丰台科技园 互联网
电子科技大学互联网
广州慧亚互联网科技怎么样
华服互联网科技官网
未来五年的互联网科技
南通创西澳互联网科技有限公司
山东大美朱楼互联网科技有限公司
江苏互联网智能科技产品出厂价