mysql怎么进行备份
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍"mysql怎么进行备份",在日常操作中,相信很多人在mysql怎么进行备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"mysql怎么进行备份"的疑惑
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
十兆服务器要多少钱
营山网络安全保卫大队
苹果软件开发工具
西安医学软件开发
代理服务器安全性
天象网络技术有限公司普通工资
单轨录音软件开发
怎么把表单里面的字移到数据库中
金融网络安全讲座心得体会
数据库三重循环vba
华为服务器映射端口映射
数据库上机实验五答案
普联路由器虚拟服务器怎么用
幼儿园网络安全目标
软件开发部门的价值与职责
计科转网络安全
老牌的私有云服务器
大连橙心网络技术有限公司
政府网络安全 管理制度
我的世界国际版up主服务器
水果数据库
江苏警官学院网络安全处
数据库中英语单词
软件开发 软件销售的税率
太行服务器
招聘期货信息技术部软件开发
数据库三重循环vba
visio2016数据库
网络安全教案信息技术
维姆网络服务器文件