1、分库备份 !/bin/bash image.png 2、分库分表备份 !/bin/sh image.png [ !
概述 mysql脚本加crontab实现自动备份。 具体内容 vi /opt/mysqlBackup.sh #!.../bin/bash mysql_user="USER" # MySQL备份用户 mysql_password="PASSWORD" # MySQL备份用户的密码 mysql_host="localhost..." mysql_port="3306" mysql_charset="utf8" # MySQL编码 backup_db_arr=("db1" "db2") # 要备份的数据库名称,多个用空格分开隔开...# 欢迎语 # 判断MYSQL是否启动,mysql没有启动则备份退出 mysql_ps=`ps -ef |grep mysql |wc -l` mysql_listen=`netstat -an |grep...exit else echo $welcome_msg fi # 连接到mysql数据库,无法连接则备份退出 mysql -h$mysql_host -P$mysql_port -u$
/bin/bash mysql_host="localhost" mysql_user="xxxx" mysql_pwd="xxxxx" #保存备份sql的文件路径 db_dir="/data/backup...-d $db_dir];then # mkdir $db_dir #fi db_arr=$(echo 'show databases' | mysql -u$mysql_user -p$...mysql_pwd -h$mysql_host) #获得当前日期 date=$(date +%Y%m%d) ziname=$date".zip" #指定的数据库文件 thisdb="zzaly"...date".sql" for dbname in ${db_arr} do if [ $thisdb == $dbname ];then mysqldump -u$mysql_user...-p$mysql_pwd -h$mysql_host $dbname > $db_dir"/"$sqlfile fi done find $db_dir -mtime +5 -type f |
每天固定时间用mysqldump 备份mysql数据。 #!.../bin/bash 每天早上4点, mysql备份数据 orangleliu chmod 700 backup.sh crontab -e 0 4 * /home/erya/run/moniter/...mysql_backup.sh user="radius" password="" host="localhost" db_name="radius" backup directory base_dir...="/home/backup" backup_log="${base_dir}/mysql_backup.log" backup_path=${base_dir} file info date=$(date
完全备份指定数据库 DIR=/database/backupdir FILE_NAME=`date +%y%m%d%H` FILE_NAME=$DIR/db_$FILE_NAME.sql.gz echo...quick --routines --single-transaction --master-data=1 db_name | gzip > $FILE_NAME echo finish backup 从备份的文件恢复数据库...#db restore abc gunzip < /backupfiledir/12082917.sql.gz | mysql --user=dbuser --password=dbpwd --port...=3336 --host=10.10.20.1 --database=test 在备份时出现mysqldump: Error: Binlogging on server not active时,是因为mysql...的binlog没有启动,在mysql的my.ini文件中[mysqld]下面添加 log-bin=mysql-bin 然后重新启动mysql服务,问题就解决
】 在此还是声明一下 个人觉得,冷备份也可以不在停机状态的 只要当下没有多少更新操作业务即可 环境 CentOS 7.9 MySQl5.7.32 ---- 冷备份/还原全部数据 这种方式,备份了整体的...,重命名一下 tar jxvf data_cold_back.tar.bz2 data # 解压冷备份数据到 data 目录 然后,重启 mysql 服务,查看数据就是之前的备份 service mysql...感觉,这个技术含量不如 —— 使用 XtraBackup 进行数据热备 ---- Shell 脚本自动备份 不过,这种方式需要 MySQL 服务开启,不然无法备份数据 个人觉得有点像热备份 但是,.../bin/bash # 以下配置信息请自己修改 mysql_user="root" #MySQL备份用户 mysql_password="MT123456" #MySQL备份用户的密码 mysql_host.../test_pxc-202101291229.sql 参考文章 —— 【CentOS MySQL 自动备份 shell 脚本】 【题外话】 个人觉得 这种方式倒是挺适合本地测试或者小型项目
/bin/sh # 备份数据库 # Mysql 用户名密码 MYSQL_USER=root MYSQL_PASS=root BACKUP_DIR=/data/backup/mysql DATA_DIR...| mysql -u$MYSQL_USER -p$MYSQL_PASS -Bs) # 当前日期 DATE=$(date -d '+0 days' +%Y%m%d%H%M) # 打包名称 ZIP_NAME...="mysql_"$DATE".gz" # 删除一个月之前的数据库备份 find $BACKUP_DIR -name "mysql_*.gz" -type f -mtime +30 -exec rm...= 0 ]; then rm -r $DATA_DIR fi ---- 第二种方法: 可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab 定时执行。.../bin/bash # 要备份的数据库名,多个数据库用空格分开 databases=(db1 db2 db3) # 备份文件要保存的目录 basepath='/root/backup/b3log.org
案例需求 写一个mysql binlog备份脚本,要求每天0点0分,计算机自动备份前一天的binlog日志,打包后发送给备份服务器。.../bin/bash #Description: #Author: www.zutuanxue.com #Created Time: #将mysql的binlog日志备份到备份服务器 ######...##variables db_user='root' db_password='' log='/var/log/mysql_backup.log' ###main #获得信息 binlog_dir...='/var/lib/mysql' current_binlog=`mysql -u $db_user -e "show master status"|egrep "binlog....[[:digit:]]*"|awk '{print $1}'` date >> $log #准备备份 #1 刷新binlog mysql -u $db_user -e "flush logs"
/bin/bash host="目标ip" id="用户名" pwd="密码" dbs=$(echo "show databases;" | mysql -u$id -p$pwd -h$host) nodeldb...="Database information_schema performance_schema test mysql" backuppath="/root/mysqlbackup" day=15 localIp...-d $backuppath ] &&mkdir -p $backuppath cd $backuppath backupname=mysql_$(date +%Y-%m-%d) for db in $...== "0" ] then echo $(date +%Y-%m-%d)" $localIp $host $db mysqldump sucess">>mysql.log else...echo $(date +%Y-%m-%d)" $localIp $host $db mysql dump failed">>mysql.log echo $(date +%
/bin/bash # mysql 的备份脚本 # 备份原理: # 1 # 使用列举出所有的库; # 2 # 使用每个库,列举出每张表,除了指定忽略的库; # 3...# 7 # 发送处理日志到指定email # 8 # 请配合同步工具多处服务器备份 # mysql备份配置信息 mysqlBackupUser="backuper"...)(performance_schema)" #备份的目录,后面需要加/ backupRoot="/var/backup/hostname-mysql-data/" # 删除存在大于以下天数的备份目录...因为正面的命令使用到 smtpUser="qidizi@qq.com" #smtp://协议是必须的 smtpHost="smtp://smtp.qq.com:25" #密码不能包含又引号防止shell...fi fi appendLog "今天的备份目录:${todayRoot}" ver=$(mysql --version 2>&1) if [ "$?"
/bin/sh bk_to="/var/mysql-backup-`date +%Y-%m-%d-%k-%M-%S |tr -d ' '`" user_name="root" user_pw="dev"...sql=" flush tables with read lock; system cp -pR /var/lib/mysql $bk_to; unlock tables; " mysql -u
mysqldump --help mysqldump 是一个常用的命令行工具,用于备份和还原 MySQL 数据库。...mysql的N种姿势 #!..." # 还原备份文件到测试数据库 mysql -u$db_user -p$db_password -h$db_host -P$db_port < $backup_file #..." # 还原备份文件到测试数据库 mysql -u$db_user -p$db_password -h$db_host -P$db_port < $backup_file #...检查数据库是否能正常运行 mysql -u$db_user -p$db_password -h$db_host -P$db_port -e "SHOW DATABASES;" } # 定义过期备份清理函数
路 获取mysql服务器所有数据库名称,过滤掉不需要备份的数据库 通过mysqldump来for循环导出所有的数据库的sql文件 用zip加密压缩所有的sql文件 定期进行数据清理工作 shell代码.../bin/bash #1.数据库信息定义 mysql_host="192.168.1.1" mysql_user="root" mysql_passwd="root"...;" | mysql -u$mysql_user -p$mysql_passwd -h$mysql_host) #不需要备份的单例数据库 nodeldb="test1" #当前日期...= 0 ]; then rm -r $data_dir fi 数据定期清理脚本 作用定期清理14天前的备份文件 shell代码 #!.../bin/bash - #1.参数配置 #mysql文件备份目录 backup_dir1="/backup/test1/" backup_dir2="/backup
password="111111" #mysql连接端口 port="3306" mysql_path="/usr/bin/" date=$(date +%Y-%m-%d_%H-%M-%S) del_date...for dbname in $(mysql -P$port -u$user -p$password -A -e "show databases\G"|grep Database|grep -v schema...>>$backup_log fi done cd $backup_path tar zcpvf mysql_all_databases_$date.tar.gz $date rm -rf $backup_path.../$date du mysql_all_databases_$date.tar.gz -sh | awk '{print "文件:" $2 ",大小:" $1}' echo "==========All...==========" >>$backup_logossutil64 cp $backup_path/mysql_all_databases_$date.tar.gz oss://bucketName
尝试写了一个 shell 脚本来备份站点,话说之前要么是懒得备份,要么是人肉备份,自从另一台vps被黑了之后,也是长记性了,虽然写的不咋地,但备份一下文件,还是绰绰有余的。 #!...------------------------------------------------------------+" echo "| Welcome to use this shell...所在主机的主机名 DB_USERNAME="root" #mysql登录用户名 DB_PASSWORD="root" #mysql登录密码...echo "[+] Mysql-Dumping: ${DATABASE}" echo -n " Began: ";echo $(date) if $(mysqldump -h ${...fi echo -n " Finished: ";echo $(date) done # echo "export mysql database--> $database" #
-d $backuppath ] && -=mysql_$( +%Y-%m-% db -u$ -p$ -S /tmp/mysql.sock $db > [ == ] #$?...$( +%Y-%m-%d)>> -czf $backupname..gz * [ == $( +%Y-%m-%d)>> $( +%Y-%m-%d)>> -f *=mysql
一、编写Shell脚本文件 bkmysql.sh #!...数据库登录信息 #如果在windows编辑器下编辑 了 ,请把格式转为unix下的格式 # :set ff=unix #mysqldump目录 BIN_DIR="/usr/local/mysql.../bin" #登录名 DB_USER="root" #登录密码 DB_PWD="123456" #主机 DB_HOST="localhost" #备份地址 BK_PATH="/data/dbbk" #当前日期...$DB_USER -p$DB_PWD -h$DB_HOST --databases $TAB_NAME > $BK_PATH/$TAB_NAME"_"$NOW_DATE.sql #删除超过60天的备份数据...,保留3个月里的 10号 20号 30号的备份数据; find $BK_PATH -mtime +60 -name '*[1-9].sql' -exec rm -rf {} \; #find $BK_PATH
备份目录 backup_dir=/date/mysql/backup # 邮箱地址 email_address=xxxxx@mail.qq # MySQL账号 mysql_user=root # MySQL...-u"$mysql_user" -p"$mysql_password" "$database_name" "$table_name" > "$backup_file_path" fi # 压缩备份文件...echo "备份文件路径:$compressed_backup_file_path" subject="MySQL备份成功" body="MySQL备份成功,备份文件路径:$compressed_backup_file_path...subject="MySQL备份失败" body="MySQL备份失败!".../mysql_back.sh #备份test_table_name表 ./mysql_back.sh test_table_name 觉得不错别忘了给波哥点赞,分享哦!
MySQL8.0后续版本中主推使用MySQL Shell进行相关日常管理及维护操作,如果后续移除了mysqldump等命令后,如何进行数据库备份等相关操作呢?本文开始进行数据库备份的操作。 1....MySQL Shell 安装 1.1 下载 可以在MySQL官网进行下载,地址https://dev.mysql.com/downloads/shell/ 需要根据操作系统类型、版本及glibc版本选择对应的文件下载...可以看到对应的工具了 ln -s mysql-shell-8.0.35-linux-glibc2.17-x86-64bit mysql-shell 建议再配置一下环境变量 将“/usr/local.../mysql-shell/bin"追加至/etc/profile中 在其他位置直接运行mysqlsh命令,即可得到如下结果: 此时,完成了mysql shell部署。...MySQL敏感数据加密及解密 8. MySQL数据备份及还原(一) 9. MySQL数据备份及还原(二)
领取专属 10元无门槛券
手把手带您无忧上云