#!/bin/bash
user=root
pass=test
database=`mysql -u$user -p "$pass" -e "show databases;" | sed 1d | grep -v
'schema'`
mkdir /mysql_backup
mysql -u$user -p "$pass" -e "show databases;" &>/dev/null
if [ $?-ne0 ];then
read -p "Mysql do not running,start it?(yes/no):" choice
if [[ "$choice" -eq "yes" ]];then
systemctl start mysqld &>/dev/null
else
echo -e "\033[31m请开启mysql服务,以过滤库、表\033[0m"
exit2
else
echo -e
"\033[33m==================backupstart=====================\033[0m"
for i in $database
do
tables=`mysql -u$user -p "$pass" -e "use $i;show tables;" | sed 1d`
for j in $tables
do
mysqldump -u$user -p "$pass" -B --databases $i --tables $j >
/mysql_backup/${i}-${j}-`date+%F`.sql
[$?-eq0] && echo $i-$j ok >> /mysql_backup/table.log || echo $i-$j failed >>
/mysql_backup/table.log
[$?-eq0] && echo -e "$i-$j\033[32mok!\033[0m" || echo -e
"$i-$j\033[31mfailed!\033[0m"
done
done
echo -e "\033[32m==================backupcomplete===================\033[0m"
如何实现对Mysql数据库进行分库加分表备份,请用脚本实现
最新推荐文章于 2024-02-21 20:54:36 发布