centos下openstack的mysql数据库备份与恢复的方法

本篇内容介绍了“centos下openstack的MySQL数据库备份与恢复的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联公司专注于企业全网营销推广、网站重做改版、大荔网站定制设计、自适应品牌网站建设、html5商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为大荔等各大城市提供网站开发制作服务。

首先,得有个mysql数据库备份脚本,需要注意的是,openstack的mysql数据库,root账号的密码是随机设置的,其值在/etc/contrail/mysql.token中。

#!/bin/bash

backup_dir="/opt/backup/mysql"

if [ ! -d "$backup_dir" ]; then
  mkdir -p "$backup_dir"
fi

# Dump the entire mysql
/bin/nice -n 19 /usr/bin/mysqldump -uroot -p`cat /etc/contrail/mysql.token` --opt --flush-logs --single-transaction --ignore-table=mysql.event --ignore-table=mysql.gtid_slave_pos --ignore-table=mysql.innodb_index_stats --ignore-table=mysql.innodb_table_stats --all-databases > ${backup_dir}/mysql-`hostname`-`eval date +%Y%m%d`.sql
/bin/nice -n 19 tar zPcf ${backup_dir}/mysql-`hostname`-`eval date +%Y%m%d`.sql.tar.gz ${backup_dir}/mysql-`hostname`-`eval date +%Y%m%d`.sql
rm -rf $backup_dir/*.sql

然后要将这个备份脚本设置为自动运行,比如设置为每天凌晨三点执行:

echo "0 03 * * * root /usr/bin/sh /opt/backup/shell/backupmysql.sh" >> /etc/crontab

最后,一旦由于异常断点等原因导致数据库文件丢失,mysql服务启动失败,则安装下列步骤进行恢复:

1. 正常情况下,一个刚yum装完的数据库目录下有这些文件

[root@test mysql]# ll
total 28
-rw-rw---- 4 mysql mysql 16384 Aug 29 13:35 aria_log.00000001
-rw-rw---- 4 mysql mysql    52 Aug 29 13:35 aria_log_control
drwx--x--x 2 mysql mysql  4096 Dec 21 14:33 mysql
drwx------ 2 mysql mysql  4096 Dec 21 14:33 performance_schema
drwxr-xr-x 2 mysql mysql     6 Aug 29 13:35 test

2. 对比当前的/var/lib/mysql/文件夹下的文件,把多余的文件都删掉

3. 启动数据库service mysql start

4. 导入数据库文件,恢复数据

# cat /etc/contrail/mysql.token
f0d330d601ce33f1a69f
# mysql -u root -p < /mysql-flexhcs_controller_1-20161221.sql
Enter password: f0d330d601ce33f1a69f

“centos下openstack的mysql数据库备份与恢复的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


当前标题:centos下openstack的mysql数据库备份与恢复的方法
标题链接:http://pwwzsj.com/article/jigphs.html