openstack mysql log_【原创】centos下openstack的mysql数据库备份与恢复

本文档详细介绍了如何在CentOS系统中为OpenStack的MySQL数据库进行备份和恢复。备份过程包括使用mysqldump创建完整数据库的备份,并通过crontab设置定期任务。恢复步骤涉及删除多余文件,启动数据库服务,以及使用mysql命令行工具导入备份数据。
摘要由CSDN通过智能技术生成

首先,得有个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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值