mysql怎么进行备份
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍"mysql怎么进行备份",在日常操作中,相信很多人在mysql怎么进行备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"mysql怎么进行备份"的疑惑
千家信息网最后更新 2025年01月21日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!12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667681234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
completed 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安全错误
数据库的锁怎样保障安全
2018全球网络技术
百度在线网络技术AI事业部
软件开发过程中的收获和体会
佛山pc软件开发定制
深圳市易印网络技术开发
企业服务器安全软件
仿真环境加速软件开发
石家庄数据库碎片怎么清理
常规的软件开发分几个阶段
国际服有啥服务器
dell服务器虚拟化集群
美术制作属于软件开发么
大二层网络技术是什么意思
公司网络安全的建议
万方数据库首页
2018jst数据库
数据库的s
财政网络安全存在问题
北京云互联网络科技有限公司
华为v2服务器默认管理地址
财政局网络安全实施方案
延边软件开发招聘信息
猫王广东互联网科技有限公司在哪
平安惠普软件开发
敏捷软件开发原则
广东app软件开发有用吗
承德市网络安全系列
服务器会自动关机
信息服务器管理
网络安全防护术语