1.环境 测试环境:centos6.9 mysql版本:mysql5.6 mysql安装目录:/usr/local/mysql/ 备份目录:/mysqlbak 脚本位置:/mysqlbak/mysqlbak.sh...2.脚本代码 脚本内容如下,已有注释,请自行根据内容修改: #2018.4.15刘编写 #定义用户名和密码 user="root" pass="root" #设置备份目录,在此为/mysqlbak...,可自行设置 backup_dir="/mysqlbak" #获取系统时间格式2018041521 backuptime="$(date +"%Y%m%d%H")" #删除时间设置为当前时间前2...,本人mysql安装在/usr/local/mysql cd /usr/local/mysql/bin #执行导出全库语句 ....表名 > 路径/脚本名; 导出整个数据库结构和数据 mysqldump -h localhost -uroot -p123456 database > /home/dump.sql 导出单个数据表结构和数据
虽说还没到正式工作坏境中,但是看到前几天顺丰快递的删库事件,emmm...打算弄个脚本实现MySQL自动备份,好歹省心点,从网上查了教程,亲身试验有效后,做个教程,以飨读者! 1....首先,明确MySQL的备份命令: mysqldump 这里主要有两种写法,但原理相同: 写法一 备份: mysqldump -uusername -ppassword database_name > /...需要备份的数据库名 2. database_name_$(date +%Y%m%d%H%M%S)为生成的备份文件名称,可自定义,这里文件名是数据库名 + 下划线 + 具体时间,$(date +%Y%m...这样定期数据备份就完成了。 6....定期删除备份文件 只是一味地备份是不行的,磁盘再大,也有用完的时候,况且保存很久以前的数据也没有任何意义,我们需要备份的是近期最新的数据,所以定期删除文件就很有必要了 定期删除,我们只需要在脚本文件中添加以下命令
=/home/mysqlbackup #备份文件后缀时间 time=_` date +%Y_%m_%d_%H_%M_%S ` #需要备份的数据库名称 db_name=test #mysql 用户名 db_user...=root #mysql 密码 db_pass=123456 mysqldump -u $db_user -p$db_pass $db_name | gzip > $backupdir/$db_name...$time.sql.gz #删除一分钟之前的备份文件 find $backupdir -name $db_name"*.sql.gz" -type f -mmin +1 -exec rm -rf {} ...db_name:数据库名; db_user:数据库用户名; db_pass:用户密码; -type f 表示查找普通类型的文件,f表示普通文件。...service crond status 查询状态 查看服务是否已经运行用 ps -ax | grep cron 查看调度任务 crontab -l //列出当前的所有调度任务 crontab -r //删除所有任务调度工作
Mysql定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据。利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。.../mysqldump -u user -ppassword dataname1 | gzip > $backupdir/name1$time.sql.gz mysql_bin_dir/mysqldump...mysql_bin_dir:mysql的bin路径; dataname:数据库名; user:数据库用户名; password:用户密码; name:自定义备份文件前缀标识。...6、恢复数据备份文件: 非压缩备份文件恢复: #mysql -u root -p dataname < name2008010103.sql 从压缩文件直接恢复: #gzip < name2008010103....sql.gz | mysql -u root -p dataname 或: # zcat name2008010103.sql.gz | mysql -u root -p
ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list 3 更新源列表(可以更新依赖包,减少很多不必要的麻烦),并使用...可以在本地远程操纵我们云服务器上的SqlServer数据库了。...由于我之前写过一个MySQL服务器自动备份数据的教程,所以这里不做过多啰嗦了,详细过程可以看那个教程,这里只贴代码,我也是从网上搜集别人的代码,懒得写脚本了,代码亲测有效: 自动备份任务是借助Linux...$day #数据库服务器,一般为localhost host=localhost #用户名 user=sa #密码 password='123456' #要备份的数据库 db=TestDB #数据要保留的天数...password -Q " BACKUP DATABASE TESTDB TO DISK = '/backup/mssql/mssql"$day".bak' WITH FORMAT; GO" #删除之前的备份
=`date +%Y-%m-%d-%H:%M:%S` # 备份数据库 DB=10_db # 数据库地址 HOST=10.1.11.10:30000 # 删除7天前的备份,即只保留近 7 天的备份,按实际需求更改...DAYS=7 # 最终保存的数据库备份文件 TAR_BAK="mongod_bak_$DATE.tar.gz" cd $OUT_DIR rm -rf $OUT_DIR/* mkdir -p $OUT_DIR...DATE tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE find $TAR_DIR/ -mtime +$DAYS -delete exit 2、创建以上文件中的目录并赋予脚本执行权限...: chmod +x mongodb_bak.sh 3、添加计划任务: 进入编辑任务界面:crontab -e 配置定时任务:30 1 * * * /opt/mongobk.sh 每天一点30分备份数据库...o crontab -r : 删除 crontab 文件。 o crontab -ir : 删除 crontab 文件前提醒用户。
/bin/bash #存放目录 BackupDir=/root/mysqlbackup #数据库库名 DataBaseName=shell_test #日期命名 DateTag=`date +%Y%m%...gz #备份 mysqldump -h localhost -uroot -p123.Com!...--databases $DataBaseName > $BackupDir/$sqltag #进行压缩并删除原文件 cd $BackupDir tar -czf $tartag $sqltag rm...-rf $sqltag #定时清除文件,以访长期堆积占用磁盘空间(删除5天以前带有tar.gz文件) find $BackupDir -mtime +5 -name '*.tar.gz' -exec.../backup.sh >> /dev/null 2>&1 #每天早上6:30自动执行脚本进行数据库备份 测试: [root@localhost mysqlbackup]# chmod +x backup.sh
/bin/bash #存放目录 BackupDir=/root/mysqlbackup #数据库库名 DataBaseName=shell_test #日期命名 DateTag=`date +%Y%m%...gz #备份 mysqldump -h localhost -uroot -p123.Com!...--databases $DataBaseName > $BackupDir/$sqltag #进行压缩并删除原文件 cd $BackupDir tar -czf $tartag $sqltag rm...-rf $sqltag #定时清除文件,以访长期堆积占用磁盘空间(删除5天以前带有tar.gz文件) find $BackupDir -mtime +5 -name '*.tar.gz' -exec...mysqlbackup/backup.sh >> /dev/null 2>&1 #每天早上6:30自动执行脚本进行数据库备份 测试: [root@localhost mysqlbackup]# chmod
\dh_log.sql -h后面跟的是需要全备份的远程mysql服务器ip地址 -u后面跟的是登录的用户名 -p后面跟的是登录密码注意要用双引号括起来 接着后面写需要备份的数据库名称,如果需要备份某个表...,则在后面再写表名称即可 --single-transaction 备份时指定不锁定表 --master-data 备份时,会向备份文件写入此次操作备份到哪个binlog文件的哪个position,因为在备份期间数据库还在运行...--flush-logs 执行备份前切断当前binlog和数据库的联系,在备份期间写入的数据都会写入新的binlog文件中,方便后面通过binlog恢复数据....>C:\Users\Administrator\Desktop\mysqldump\dh_log.sql 指定sql的生成路径. 2、恢复备份文件 mysql -uroot -p"root" 数据库名称...<备份文件的路径 注意:如果是第一次同步,需要新建数据库 (1)、优化 2.1、减少数据库操作 关闭二进制日志:去掉log-bin配置选项。
MySQL备份概述 问题:备份和冗余有什么区别? 备份:能够防止由于机械故障以及人为操作带来的数据丢失,例如将数据库文件保存在了其它地方。...冗余:数据有多份冗余,但不等于备份,只能防止机械故障带来的数据丢失,例如主备模式、数据库集群。 备份是什么? ...2、备份数据应该放在非数据库本地,并建议有多份副本 3、必须做好数据恢复的演练(每隔一段时间,对备份的数据在测试环境中进行模拟恢复,保证当出现数据灾难的时候能够及时恢复数据。)...,但不能恢复到不同的MySQL版本。...M-Sn M-S1-S2 M-M-Sn 备份工具 社区版安装包中的备份工具 mysqldump 企业版和社区版都包含 本质上使用SQL语句描述数据库及数据并导出 在MYISAM引擎上锁表,Innodb
MySQL的安装位置:/usr/share/mysql 备份位置: /usr/local/backup cd /usr/local/backup touch dbbackup.sh vi dbbackup.sh.../bin/bash #备份目录 backup_path=/backup/mysql #要备份的数据库 db_name=zpzy #cd $backup_path #定义日期, day='date +%Y...=test123 #数据保留天数 days=1 #备份 #mysqldump $db_name > /backup/mysql/db_$db_name_$(date +%Y%m%d%H%M%S).sql...-l或cat /var/spool/cron/用户名 取消定时任务:crontab -r -u test //取消test用户任务 crontab -r //取消自己的任务 3.恢复数据库备份...# 新建bll库 mysql -u root -p bll < /backup/mysql/db_test_20190117151002.sql #输入pwd #如果是恢复压缩的备份文件,可遵循以下格式
Excel VBA学习之 一键删除多行数据-并备份起来 问题:有“源表”工作表,有几百或几千行数据,现在要在这个表中删除几十条数据,并把删除的数据备份表“备份表”中。...常规的做法是:~~~~~~想想都要很多时间 【源表】 【要删除表】 【备份表】 工作目标: 目标:一键完成工作 VBA代码如下: 代码如下: Sub de_bk() Dim arr, brr, Rng...As Range Application.ScreenUpdating = False With Worksheets("要删除表") brr = ....[a2:c32] '要删除的数据的数据 End With 'MsgBox "brr22" & brr(2, 2) With Worksheets("源表") arr...Next j Next i End With ' If Not Rng Is Nothing Then With Worksheets("备份表
mysqldump命令导出数据库 备份数据库(推荐背下来) 语法: mysqldump -u 用户名 -p 数据库名 > 盘符:\路径\文件名.sql 案例(备份到当前位置):【位置可以写成D:\script.sql...】 mysqldump -u root -p dbname > script.sql 目录 mysqldump命令导出数据库 备份数据库(推荐背下来) 实例: 1.登录数据库:【mysql -u root...-p】 2.查看数据库列表【show databases;】 3.退出数据库【quit】 4.备份数据库【mysqldump -u root -p mytest > D:\Data\script.sql...】 5.有效性校验 实例: 1.登录数据库:【mysql -u root -p】 2.查看数据库列表【show databases;】 3.退出数据库【quit】 4.备份数据库【mysqldump...-u root -p mytest > D:\Data\script.sql】 5.有效性校验 数据完整,有表,有数据。
文章时间:2019年1月31日 08:49:46 作者:余伟同学 说明:利用crotab定时器,实现定时自动备份mysql数据库 更新人 更新时间 更新内容 余伟同学 2019年10月10日...12:30:57 增加复杂版本sh,7天自动删除 安装crotab 安装教程地址:https://wiki.nooss.cn/archives/84.html 编写备份mysql的shell脚本 #简单版本...###################数据库配置信息####################### user=root passwd=root dbname=databases mysql_back_path...-p$passwd $dbname > $mysql_back_path/$time.sql.gz echo '数据库备份完成' find /home/dbback/ -mtime +3 -name..."*.sql.gz*" -exec rm -rf {} \; #删除3天以上的备份sql echo '检查删除过期备份数据库成功' 说明 -u 后面跟的是用户名 -p 后面跟的是密码 datebaes
MySQL 用户权限的权限。...只需要把关键字 “to” 换成 “from” 即可: revoke all on *.* from 'root'@'192.168.0.197' ; REVOKE语句只能取消用户的权限,而不可以删除用户...要想彻底的删除用户,必须使用DELETE语句将该用户的记录从MySQL数据库中的user表中删除。...该语句的语法格式如下: Delete from user where user = "user_name" and host = "host_name" ; 例子: mysql> use mysql...; Database changed mysql> delete from user where user='sss' and host='localhost' ; mysql>flush
专栏持续更新中:MySQL详解 部署在后台服务器或者云端的MySQL大部分做了一些限制,在本地无法直连后台服务的数据库3306端口上,一般有防火墙之类的网络中间件 在远程服务器一般不能使用GUI图形化界面工具进行数据备份...: mysql -u 用户名 -p111111 -D school -e 'select * from user where age>10' > ~/user.txt 在mysql终端执行source命令...,导入数据,建库建表: mysql> source ~/school.sql 在linux shell下执行以下命令,即可把mytest库的user表的数据导出到.sql文件中(导出的不仅是数据,SQL...语句也导出了) user.sql文件内容如下: 现在user.sql是root的文件,我们变更一下属主,使得普通用户也可以操作 我们现在把mytest库下的user表删除 然后我们source,相当于把....sql脚本重新执行一遍 user表和数据全部恢复出来了,有了.sql的脚本,可以在任意的mysql库上去重建库表及数据 我们还可以直接导出纯表数据 mysql -u root -p -D school
制定合理的mysql数据备份方案,并写备份脚本,要求把备份数据传输到备份服务器。...本机数据保存1个月,备份server保存3个月。...复制公钥到此文件 在 /etc/my.cnf中添加mysqldump的user和password [mysqldump] user=root password[email protected]123 备份整个数据库脚本...,并删除本地30天以外的数据库!...> /bak/mysql/$d.sql rsync -az /bak/mysql/$d.sql 192.168.14.107:/bak/mysql/ find /bak/mysql/ -mtime
语法一、导出数据库中所有表结构;只导出表结构, 不导出表中的数据 mysqldump --opt -d 数据库名称 -u用户名 -p密码 > 保存文件路径 语法二、导出数据库中所有表中的数据...;只导出表中的数据,不导出表结构 mysqldump -t 数据库名称 -u用户名 -p密码 > 保存文件路径 语法三、导出数据库中所有的表结构和数据;导出表结构和数据 mysqldump...数据库名称 -u用户名 -p密码 > 保存文件路径 语法四、导出指定表的结构和数据 mysqldump -u用户名 -p密码 -B 数据库名称 --table 表名 > 保存文件路径...语法五、导出指定表数据,只导出数据,不导出表结构 mysqldump -t 数据库名称 -u用户名 -p密码 --table 表名 > 保存文件路径 语法六、将备份文件导入到数据库...mysql -u用户名 -p密码 数据库名称 < 用于恢复数据库的数据文件路径
一、需求 按业务逻辑删除大量表数据 操作不卡库,不能影响正常业务操作 操作不能造成 60 秒以上的复制延迟 满足以上条件的前提下,尽快删除数据并释放所占空间 表结构如下: create...,只保留 2023-10-01 以后的数据(约占总量的 1/10),其它删除。...导出需要删除数据的主键到文件 -- 在从库执行查询 select userid, avid into outfile '/data/del.txt' from space_visit_av where...bin/bash source ~/.bashrc dir="/data/" ls $dir | while read line do file=${dir}${line} # 表关联删除数据...使用 pt-online-schema-change 释放删除数据所占空间 # 后台执行 nohup ~/shrink.sh > ~/shrink.log 2>&1 & shrink.sh
领取专属 10元无门槛券
手把手带您无忧上云