整理了一份shell 脚本备份数据库 bakmysql.sh

#备份整个数据库
#设置要备份的表空格隔开;
databases="mydbtest"; #要备份的数据库名称
username="root";
password='root';
logtime=$(date "+%m%d");
mysqltime=$(date "+%H%M");
mysqllogdir="/myshell/log/mysql/"${logtime}
mysqlbackdir="/myshell/back/mysql/"${logtime}/${mysqltime};
if [ ! -d "${mysqllogdir}" ] ;then
mkdir -p ${mysqllogdir};
fi ;
if [ ! -d "${mysqlbackdir}" ] ;then
mkdir -p ${mysqlbackdir};
fi ;
echo 【$(date "+%Y-%m-%d%H:%M:%S")】"触发了备份数据库:"${databases} >>${mysqllogdir}/${logtime}.log 2>&1 &
mysqldump -u${username} -p${password} --databases ${databases} >${mysqlbackdir}/${databases}.sql

crontab -e

每分钟执行一次:

*/1 * * * * sh /home/sh/bakmysql.sh

如何设置crontab的执行时间规则 ​​点击查看​​

导出结构:
mysqldump -hlocalhost -uroot -P3306 -p6NbAFQBE -d btmox>./btmox.sql
mysqldump -hlocalhost -uroot -P3306 -p6NbAFQBE -d mxhy>./mxhy.sql
导出结构和数据:
mysqldump -hlocalhost -uroot -P3306 -p6NbAFQBE btmox>./btmox-data.sql
mysqldump -hlocalhost -uroot -P3306 -p6NbAFQBE -d mxhy>./mxhy-data.sql
导入sql文件:
mysql -uroot -P3306 -p6NbAFQBE btmox< ./btmox-data.sql
mysql -uroot -P3306 -p6NbAFQBE mxhy< ./mxhy-data.sql
授权:
grant all privileges on *.* to 'root'@'%' identified by '6NbAFQBE';
grant all privileges on *.* to 'dbmanager'@'%' identified by '6NbAFQBE';
FLUSH PRIVILEGES