mysqlhotcopy热备Mysql数据库

    技术2025-03-01  36

    一、配制两台服务器(主=>从)无密码SSH访问;二、添加热备用户权限:

    view plain copy to clipboard print ? grant select,reload,LOCK TABLES on *.* to backup@localhost identified by 'pass'  

    grant select,reload,LOCK TABLES on *.* to backup@localhost identified by 'pass' 三、备份SHELL#!/bin/bash BACKUP_SERVER="192.168.100.2" BACKUP_USER="mysql" MYSQL_USER="backup" MYSQL_USER_PASS="pass"    MYSQLHOTCOPY=/usr/local/mysql/bin/mysqlhotcopy # Change to MySQL data directory cd /usr/local/mysql/data    # Create an array with all directories in the MySQL data directory # The directory name presents the database name in MySQL. ARRAY=`find * -type d -prune` for DATABASE in `echo $ARRAY` do     # Create backup from database     $MYSQLHOTCOPY --method='scp -Bq -i /home/foo/.ssh/identity'  --user=`echo $MYSQL_USER` --password=`echo $MYSQL_USER_PASS` /         $DATABASE `echo $BACKUP_USER`@`echo $BACKUP_SERVER`:/usr/local/mysql/data/$DATABASE done

    最新回复(0)