企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
linux下自动备份mysql(适用版本5.7.28,其它版本未测试) ### 1.配置文件 `my.cnf` ``` [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [mysqld] # 设置3306端口 port =3306 #存放数据的目录 datadir=/usr/local/mysql/data # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8mb4 collation-server = utf8mb4_unicode_ci # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB #认证方式(如果这里不修改,会新版的密码认证,会连接不了数据库的,并且要放到mysqld下) default_authentication_plugin = mysql_native_password [mysqldump] user=root password=admin123 ``` ***** ### 2.执行脚本 `mysql_back.sh` ``` #!/bin/bash #备份数据库 #备份路径 BACKUPDIR=/usr/share/nginx/databack #当前时间 DATETIME=$(date +%Y-%m-%d_%H%M%S) echo "===备份开始===" echo "备份文件存放在${BACKUPDIR}/$DATETIME.sql" #数据库地址 #HOST=127.0.0.1 #数据库用户 #DBUSER=root #数据库密码 #DBPW= #数据库名 DATABASE=stocks /usr/bin/mysqldump -q -R $DATABASE> ${BACKUPDIR}/$DATABASE$DATETIME.sql echo "===备份成功===" ``` ***** ### 3.删除备份脚本 `mysql_rm.sh` ``` #!/bin/bash #删除5天前备份文件 find /usr/share/nginx/databack -ctime +5 -name "stocks*.sql" -exec rm -rf {} \; ```