mysql怎么进行备份
发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,这篇文章主要介绍"mysql怎么进行备份",在日常操作中,相信很多人在mysql怎么进行备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"mysql怎么进行备份"的疑惑
千家信息网最后更新 2024年10月24日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安全错误
数据库的锁怎样保障安全
北京访客管理软件开发费用
服务器安全服务方案
敏捷软件开发是啥
safari找不到服务器
网络安全漏洞整改不及时
数据库的基本进入方式
软件开发行业销售模式简介
服务器象棋
远程访问数据库服务
nba数据库怎么回事
数据库第四次作业备份与恢复数据
邢台县委网络安全
软件开发器的任务
软件开发需要什么办公用品
大逃杀 服务器英文
大智慧设置代理服务器
服务器罢工了是什么意思
1.建立一个宾馆数据库bg
网络安全信息安全包括哪些
优拍档网络技术有限公司
计算机和网络技术发展
星研软件开发版
北京访客管理软件开发费用
成都软件开发培训机构排名
蓝盾是服务器还是安全设备
mysql数据库更新命令行
移动网络技术德语课
电网网络安全岗
网络安全保护工作的责任
访问服务器的网站