备份数据库, 并排除系统库, 使用 mysqldump

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
set -euo pipefail

mysql_host=10.0.0.187
mysql_user=root
mysql_passwd=password
exclude_databases=information_schema|performance_schema|sys|mysql

echo "开始备份数据库……"
mysql -h"${mysql_host}" -u"${mysql_user}" -p"${mysql_passwd}" -N -e "show databases;" | grep -Ev "${exclude_databases}" | xargs mysqldump -h"${mysql_host}" -u"${mysql_user}" -p"${mysql_passwd}" --databases > $(pwd)/mysql_backup.sql