mysqldump备份与恢复
[root@ecs-yonbip-0008 data]# tail -f all1.sql |grep completed
-- Dump completed on 2025-01-09 14:46:12
如果使用mysqldump备份导致操作系统oom,可以把innodb_buffer_pool_size=8096M调小
全库备份:
mysqldump -uoper_dc -poperzADF2020qwer -h193.0.65.42 --single-transaction --source-data=2 --set-gtid-purged=OFF -f -q --triggers --routines --events --all-databases > mysql_allbak0306.sql
全库后台备份:
nohup mysqldump -uroot -poperzADF2020qwer -h10.56.9.11 -P3306 -q --single-transaction --source-data=2 --all-databases --triggers --routines --events>/data/all.sql &
旗舰版迁移时,可以将技术中台与系统自带数据库过滤掉,不迁移,在从库上面执行:
mysql -uoper_dc -poperzADF2020qwer -h193.0.65.161 -e "show databases;"| grep -Ev "Database|information_schema|mysql|performance_schema|^sys$|recycle_bin|iuap_devops_data|iuap_hubble_data|iuap_yms_console|iuap_ypr_data|iuap_ymc_data|iuap_data_dolphinscheduler" | xargs mysqldump -uoper_dc -poperzADF2020qwer --databases -h193.0.65.161 --single-transaction --source-data=2 --set-gtid-purged=OFF -f -q --triggers --routines --events > yewu-mysql-source.sql
mysql -u【源环境 mysql 用户】-p【源环境 mysql 密码】-h【源环境 mysql 地址】-e "show databases;"| grep -Ev "Database|information_schema|mysql|performance_schema|^sys$|recycle_bin|iuap_devops_data|iuap_hubble_data|iuap_yms_console|iuap_ypr_data|iuap_ymc_data|iuap_data_dolphinscheduler" | xargs mysqldump -u【源环境 mysql 用户】 -p【源环境 mysql 密 码 】 --databases -h 【 源 环 境 mysql 地 址 】 --single-transaction --source-data=2 --set-gtid-purged=OFF -f -q --triggers --routines --events > yewu-mysql-source.sql
恢复:
!/bin/bash
host=10.56.9.11
port=3306
user=oper_dc
pass=operzADF2020qwer
backup_dir=/data/backup/qianyi/test
for i in ls $backup_dir
do
echo "开始恢复 $i" >> /root/restore.log
mysql -h $host -P $port -u $user -p"$pass" < ${backup_dir}/$i >> /root/restore.log 2>&1
done
echo "数据库恢复完成" >> /root/restore.log 2>&1
逻辑恢复:数量量小于50G,可以用source进行导入:
mysql -uoper_dc -poperzADF2020qwer -h172.29.75.83 -P3306
set global sql_mode='';
set FOREIGN_KEY_CHECKS=0;
tee /data/backup/source.log
source /data/backup/