MySQL多实例备份方案及实现(mysql多实例备份)

MySQL 多实例备份方案及实现

随着现在数据库形式越来越复杂多样,以MySQL为主的多实例管理环境已经逐渐成为标准化的部署模式。MySQL数据库多实例备份是目前许多企业使用的一种方式,不仅可以有效地提高数据库性能,同时也可以保障数据库安全性。

MySQL多实例备份方案一般可以分为两种:物理备份和复制备份。物理备份是指使用备份工具对MySQL数据库进行全量备份,并将备份的文件存放在指定的目录或存储介质,此法能快速,节省空间,但其备份恢复相对较慢;复制备份又称贴源备份、目标备份、全备份,是一种基于MySQL复制功能实现的热备份方法,它能够在数据库正常运行状态下,每日及时完成包括数据库结构、表结构及数据内容的备份,通过复制备份提供的多种恢复模式来保障和支持可靠的数据恢复。

实现MySQL多实例备份可以采用linux shell脚本的方式来实现。假设备份的目的机ip为192.168.1.100 ,备份的端口号为3306,备份存放的目录为/data/backup/mysql

1. 在实现备份时,要先做准备工作,新建一个文件/data/backup/mysql,用来存放备份后的数据,使用mkdir -p /data/backup/mysql命令;

2. 接着,利用备份主机客户端,使用下面代码指令,在备份主机上建立实例3306,3307,3308,3159等多个MySQL实例;

“`bash

#!/bin/bash

#备份MySQL多实例,此实例在192.168.1.100上

MYSQL_IP=”192.168.1.100″

MYSQL_USR=”root”

MYSQL_PWD=”passwd”

MYSQL_PORT=3306

MYSQL_DATA_DIR=”/data/mysql/data/”

MYSQL_BACKUP_DIR=”/data/backup/mysql/$MYSQL_PORT/”

rm -rf $MYSQL_BACKUP_DIR

mkdir -p $MYSQL_BACKUP_DIR

echo “start $MYSQL_PORT…”

# 停止mysql

mysqladmin –user=$MYSQL_USR –password=$MYSQL_PWD –host=$MYSQL_IP –port=$MYSQL_PORT shutdown

# 制作备份

cd $MYSQL_DATA_DIR

tar cf $MYSQL_BACKUP_DIR/mysql-$(date +”%F”).tar $MYSQL_PORT

# 启动mysql

cd $MYSQL_BACKUP_DIR

nohup mysqld_safe –defaults-file=$MYSQL_BACKUP_DIR/$MYSQL_PORT/my.cnf &

echo “end $MYSQL_PORT…”


最后,为了实现多实例备份,最后调用上面的脚本进行备份,即把多个实例的端口号带进去,来执行多次备份:
```bash
#!/bin/bash
./backup.sh 3306
./backup.sh 3307
./backup.sh 3308
./backup.sh 3159
...

以上就是MySQL多实例备份方案及实现的一种较为常用的方法,通过实现MySQL多实例备份可以有效地提高数据库性能,同时也可以保障数据库安全性,是许多企业重视的一种部署模式。


数据运维技术 » MySQL多实例备份方案及实现(mysql多实例备份)