1、分库备份 2、分库分表备份 1、分库备份 要求:将mysql数据库中的用户数据库备份,备份的数据库文件以时间命名 脚本内容如下: #!...mysql_pass -B $n 2>/dev/null>/backup/${n}_`date +%Y_%m_%d`.sql done 执行脚本进行测试: [root@db01 scripts]# sh...sql ├── test2_2018_07_04.sql └── test_2018_07_04.sql 0 directories, 3 files [root@db01 scripts]# 2、分库分表备份...要求:备份每个数据库的表,同一个库中的表,放在对应数据库名字命名的目录下 脚本内容如下: [root@db01 scripts]# vim backup_tables.sh #!...mysql_user -p$mysql_pass $n $m 2>/dev/null>/backup/${n}/${m}_`date +%Y_%m_%d`.sql done done 执行脚本进行测试
/bin/bash # 以下配置信息请自己修改 mysql_user="root" #MySQL备份用户 mysql_password="summer123" #MySQL备份用户的密码 mysql_host...="192.168.0.1" mysql_port="3306" mysql_charset="utf8" #MySQL编码 backup_db_arr=("testapp") #要备份的数据库名称,多个用空格分开隔开...#欢迎语 # 判断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$mysql_user...." # 判断有没有定义备份的数据库,如果定义则开始备份,否则退出备份 if [ "$backup_db_arr" !
/mysql -u$username -p$password -h$hostip -e"SHOW DATABASES;"` denylists=(Database mysql test information_schema...performance_schema) #循环备份数据库 for dbname in ${dblists[*]} do #排除不用备份的数据库 flag=0 for i in ${denylists...[*]} do if [ "$i" = "$dbname" ] then flag=1 fi done if [ $flag -ne 1 ] then #指定时间日期和备份目录.../bin/mysql -u$username -p$password -h$hostip $dbname -e"SHOW MASTER STATUS;" >>$LogFile #开始备份数据库...--net_buffer_length=163840 | gzip>$backupdir echo " " >> $LogFile /usr/local/mysql/bin/mysql -u$
创建一个脚本dbbackup.sh然后内容如下: #!.../bin/bash # 执行此文件将会备份数据库到/opt/backup/data目录中 cd /opt/backup/data date=`date -I`; #取出当前的日期 /opt/lampp.../bin/mysqldump -u用户名 -p密码 数据库> 备份文件名前缀_$date.sql; #导出数据库为sql脚本 /bin/tar zcvhf 备份文件名前缀_$date.tar.gz 备份文件名前缀..._$date.sql; #压缩sql脚本 rm 备份文件名前缀_$date.sql #删除sql文件 现在我们将这个脚本添加到定时任务中去,让每天都执行一次 使用crontab -l命令查看当前定时任务
/bin/sh #mysql_backup begintime=`date +"%Y-%m-%d_%H-%M-%S"` format_time=`date +"%Y-%m-%d_%H-%M-%S"` tar_time...' file_cnf=/etc/my.cnf user_name=root passwd='123456' sock=/data/mysqldata/mysql.sock out_log=$backdir...-d "$tardir" ];then mkdir -p $tardir fi #判断备份目录是否存在 if [ !...-d "$backdir" ]; then mkdir -p $backdir else #判断昨日是否备份,有则打包压缩后删除之前备份的目录 if [ -d "$backdir/rec2..." ];then tar zcf ${tardir}/mysql_bckup_$tar_time.tar.gz -C $backdir .
1、分库备份 !/bin/bash image.png 2、分库分表备份 !/bin/sh image.png [ !
/bin/bash #by azura #About database backup #URL https://www.mxsina.com DBCMD=/usr/local/mysql/bin/mysqldump...123456789 #数字段请修改为root用户数据库连接密码 DATABASE=emlogdb #emlogdb请修改为备份的数据库...---------------------------------------------------------" echo echo "Start the database backup" #示例备份命令...mysqlbak/bak_emlogdb.sql $DBCMD -u$DBUSER -p$DBPWD $DATABASE > $BAK_DIR/db_emlog.sql #db_emlog.sql可修改为备份文件的文件名
/bin/sh #mysql_backup begintime=`date +"%Y-%m-%d_%H-%M-%S"` format_time=`date +"%Y-%m-%d_%H-%M-%S"...' file_cnf=/etc/my.cnf user_name=root passwd='123456' sock=/data/mysqldata/mysql.sock out_log=$backdir...-d "$tardir" ];then mkdir -p $tardir fi #判断备份目录是否存在 if [ !...-d "$backdir" ]; then mkdir -p $backdir else #判断昨日是否备份,有则打包压缩后删除之前备份的目录 if [ -d "$backdir/rec2..." ];then tar zcf ${tardir}/mysql_bckup_$tar_time.tar.gz -C $backdir .
/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 |
今天简单的写了个python的mysql备份脚本,其实也不是很难呀。比shell简洁了很多! 开整: 注释都用英文写了,有些英语基础的朋友应该都可以看得懂了! #!... 'root' #mysqlbackup password Password = 'root' #mysqlbackup command Mysqlcommand = '/usr/local/mysql.../bin/mysqldump' #gzip command Gzipcommand = '/bin/gzip' #backup mysql database Mysqldata = ['gtshop...'sucessful gzip gtshop' else: print 'gzip failed' 执行结果: [root@localhost script]# python mysql_backup.py
案例需求 写一个mysql binlog备份脚本,要求每天0点0分,计算机自动备份前一天的binlog日志,打包后发送给备份服务器。...脚本应用场景: 文件备份 解决问题 日常文件备份 日常数据备份 脚本思路 1、确定binlog的位置及备份时间间隔 每天 当前要备份的binlog是谁 .../bin/bash #Description: #Author: www.zutuanxue.com #Created Time: #将mysql的binlog日志备份到备份服务器 ######...='/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"
定时执行脚本: 1、执行 crontab -e 00 00 * * * /bin/bash yourpath/mysqlbak.sh 2、打开自动执行文件 vi /etc/crontab...00 00 * * * root /mysqlbak.sh 以上两个 00 00 * * * 为每天的凌晨自动执行脚本 分 时 日 月 周 命令 M: 分钟(0-59...usr/local/sbin:/usr/local/mysql/bin export PATH #数据库用户名 dbuser='root' #数据库密码 dbpasswd='123456...'"备份时间为${backtime},备份数据库表 ${dbname} 开始" 》 ${logpath}/mysqllog.log #正式备份数据库 for table in $dbname;...》 ${logpath}/mysqllog.log else #备份失败则进行以下操作 echo "数据库表 ${dbname} 备份失败!!"
00 00 root /mysqlbak.sh 以上两个 00 00 * 为每天的凌晨自动执行脚本 分 时 日 月 周 命令 M: 分钟(0-59)。.../sbin:/usr/local/mysql/bin export PATH 数据库用户名 dbuser=’root’ 数据库密码 dbpasswd=’123456′ 数据库名,可以定义多个数据库,中间以空格隔开...,如:test test1 test2 dbname=’test1 test2′ 备份时间 backtime=date +%Y%m%d%H%M%S 日志备份路径 logpath=’/second/backup...’ 数据备份路径 datapath=’/second/backup’ 日志记录头部 echo ‘”备份时间为${backtime},备份数据库表 ${dbname} 开始” >> ${logpath}/...>> ${logpath}/mysqllog.log else 备份失败则进行以下操作 echo “数据库表 ${dbname} 备份失败!!”
每天固定时间用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
请使用source执行脚本,在脚本后面传入'下载地址';列如:source recover.sh 'Download.URL'"; else url="https://dev.mysql.com/get...= 0 ]]; then echo "wget下载失败,请确认网络或者yum源无问题后重新执行次脚本" && exit -1; fi #下载云上备份 mkdir ${workDir}/data1 -p...|wc -l`; if [[ ${user_status} -eq 0 ]]; then useradd -s /bin/nologoin mysql fi chown -R mysql.mysql...=mysql basedir=${workDir}/mysql datadir=${workDir}/data socket=/tmp/mysql.sock server_id=666 port=3306...######################恢复数据##################################### sleep 10 systemctl stop mysqld #创建云上备份下载目录
/bin/bash #the script is backup all databases for mysql server,first grant all on *.* to adminbak@'172.16.2.222
完全备份指定数据库 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服务,问题就解决
# 创建执行脚本 tar jcvf data_cold_back.tar.bz2 data 当需要进行冷备份操作时, 只需执行脚本命令即可(操作会覆盖掉之前备份的压缩文件,没啥不利影响) ☞ tar...感觉,这个技术含量不如 —— 使用 XtraBackup 进行数据热备 ---- Shell 脚本自动备份 不过,这种方式需要 MySQL 服务开启,不然无法备份数据 个人觉得有点像热备份 但是,...鄙人的理解是: 因为无法操作事务更新,不同于标准的热备份 可以理解为当下不对外提供数据更新操作 或者当前时间点离开集群 ☞ 脚本配置 首先创建脚本 touch backup.sh 然后,编辑如下信息...exit fi 然后,需要对脚本赋予权限 chmod -R 755 backup.sh 在需要进行数据备份时,执行指令即可 ..../test_pxc-202101291229.sql 参考文章 —— 【CentOS MySQL 自动备份 shell 脚本】 【题外话】 个人觉得 这种方式倒是挺适合本地测试或者小型项目
备份数据库是企业开发中必不可少的一步,今天演示一下如何在 中使用 定时备份数据。 1. 创建备份 备份脚本: #!.../bin/bash date_str=$(date +%Y%m%d-%T) cd /bf/mysql_back mysqldump -h localhost -u root --password=PASSWORD... -R -E -e \databaseName \ | gzip > /bf/mysql_back/database_$date_str.sql.gz 2.执行定时任务 利用crontab定时执行上述脚本...crontab -e 每周一凌晨执行备份 05 02 * * 1 /home/mysqls_backup/mysqlbackup.sh 查看crontab列表 crontab -l 即时生效 /etc
备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。...而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的! ---- 1. 创建备份 备份脚本: #!.../bin/bash date_str=$(date +%Y%m%d-%T) cd /bf/mysql_back mysqldump -h localhost -u root --password=PASSWORD... -R -E -e \databaseName \ | gzip > /bf/mysql_back/database_$date_str.sql.gz 2.执行定时任务 利用crontab定时执行上述脚本...crontab -e 每周一凌晨执行备份 05 02 * * 1 /home/mysqls_backup/mysqlbackup.sh 查看crontab列表 crontab -l 即时生效 /etc
领取专属 10元无门槛券
手把手带您无忧上云