适用于Linux平台下的一个定时备份压缩数据库代码 压缩备份Mysql数据库 #!
大家好,又见面了,我是你们的朋友全栈君。 一般情况我们通过mysqldump来备份MySQL数据库,并上传至其它备份机器。如果数据库比较大,在备份传输的时候可能会慢,所以我们尽量让备份的文件小一些。...在写自动备份脚本时,最好把备份结果直接压缩,恢复时也可以直接由压缩备份恢复。下面介绍如何使用bzip2和gzip进行压缩mysql备份文件。...直接将MySQL数据库压缩备份 代码如下 mysqldump -h hostname -u username -p databasename | gzip > db.sql.gz 说明: gzip是linux...下的压缩工具,所以在windows环境下无法使用。...Query Browser的File–》Open Script来执行备份的脚本,同时也可以使用一下命令直接进行恢复: 代码如下 mysql -h hostname -u username -p databasename
文章时间: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
添加设置swap,添加设置SWAP大小,根据你的实际内存进行调整,swap是Linux下的虚拟内存,设置适当的swap可增加服务器稳定性,建议swap容量在真实内存容量的1.5倍左右,若您的服务器内存大于...方法二:添加Mysql守护-自动启动数据库 (MySq|守护的作用:当发现MySQL停机了,即立刻重启MySQL。...可以设置为N分钟执行一次) 登陆宝塔后台-计划任务-添加Mysql守护,执行周期,可选择多长时间执行一次,比如10分钟监控执行一次,具体的周期请站长根据自己服务器实际情况来设置。...-ne 0 ];then bash /www/server/panel/script/rememory.sh /etc/init.d/mysqld start fi 方法三:根据你的实际内存进行mysql...优化 当然这个方法比较低,亲测过,基本上无任务效果,还是一样会停止【建议用方法二】 未经允许不得转载:肥猫博客 » mysql数据库总是自动关闭_宝塔数据库mysql总是自动停止解决总汇
一、mysql提供了一个mysqldump的工具可以方便的导出导入数据库信息; 一般情况下mysql的数据库安装成功后,mysqldump的位置在:/usr/bin 的目录会有mysqldump这个文件...#mysql_bin_dir:mysql的bin路径; #dataname:数据库名; #user:数据库用户名; #password:用户密码; #name:自定义备份文件前缀标识 # name:自定义备份文件前缀标识...#数据库备份的位置 backupdir=/home/mysqlbak time=` date +%Y%m%d%H%M%S` #需要备份的数据库的连接的用户名和密码和数据库 #mysql_bin_dir/...第一步:将编写好的脚本放到数据库的服务器上如下图: ?...(image-1638b9-1573886433692)] 图中的为每天的凌晨2点执行数据库备份 crontab [-u username] //省略用户表表示操作当前用户的crontab
/bin/bash #功能说明:本功能用于备份mysql数据库 #编写日期:2018/05/17 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr.../local/sbin:/usr/local/mysql/bin export PATH #数据库用户名 dbuser='dbuser' #数据库密码 dbpasswd='dbpasswd' #数据库名...== 0 ];then cd $datapath #为节约硬盘空间,将数据库压缩 tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null...#删除原始文件,只留压缩后文件 rm -f ${datapath}/${backtime}.sql echo “数据库表 ${dbname} 备份成功!!”...>> ${logpath}/mysqllog.log else #备份失败则进行以下操作 echo “数据库表 ${dbname} 备份失败!!”
临近春节,相信每个公司都会进行全面巡检,无论是业务层还是数据库层,达到事前预防的目的;今天就来分享一下针对MySQL数据存储层面,在数据库存储来不及扩容的情况下,MySQL中的压缩方案; 日常工作中很多业务在表结构设计之初不会考虑存储的设计...而物理存储主要是考虑是否要启用表的压缩功能,默认情况下,所有表都是非压缩的。但说到压缩,总会下意识地认为压缩会导致 MySQL 数据库的性能下降。这个观点说对也不对,需要根据不同场景进行区分。...如果存储磁盘是SSD,数据库的 IO 负载有所降低,但是对于磁盘空间的问题还是没有很好的解决。因此压缩表使用还是非常的广泛。这也就是为什么那么多的引擎都支持压缩的原因。...表压缩 数据库中的表是由一行行记录(rows)所组成,每行记录被存储在一个页中,在 MySQL 中,一个页的大小默认为 16K,一个个页又组成了每张表的表空间。...通常我们认为,如果一个页中存放的记录数越多,数据库的性能越高。这是因为数据库表空间中的页是存放在磁盘上,MySQL 数据库先要将磁盘中的页读取到内存缓冲池,然后以页为单位来读取和管理记录。
DYNAMIC和COMPRESSED行格式是COMPACT行格式的变体,早期版本的InnoDB对数据库文件使用文件格式Antelope。...当超过这个临界值,mysql会为每个压缩页添加额外的空间来避免再次压缩失败。值为0表示禁用监控压缩效率,改为动态调整。...压缩方法 如果设置了ROW_FORMAT=COMPRESSED,那可以忽略key_block_size设置,这时默认的key_block_size为innodb_page_size值的一半,MYSQL默认设置...innodb_page_size=16k; 如果设置了key_block_size,那可以忽略ROW_FORMAT=COMPRESSED,这时压缩时自动打开的,key_block_size的值设置8或4...InnoDB未压缩的数据页是16K,根据选项组合值,mysql为每个表的.ibd文件使用1kb,2kb,4kb,8kb,16kb页大小,实际的压缩算法并不会受KEY_BLOCK_SIZE值影响,这个值只是决定每个压缩块有多大
创建存放备份sql的文件夹 mkdir /usr/src/mysqlbackup 测试命令行备份数据库 /usr/local/mysql/bin/mysqldump --opt -uroot -proot...-hlocalhost Qls1.4 > /usr/src/mysqlbackup/`date +%F`.sql [ /usr/local/mysql/bin/mysqldump] mysql的备份脚本...[--opt ] 参数 [-uroot ] -u数据库用户名 -h数据库地址 数据库名 > 导出的文件路径; [-proot ] -p数据库用户密码 [ -hlocalhost] 数据库地址 [Qls1.4..." DB_NAME="Qls1.4" #你要备份的数据库 BIN_DIR="/usr/local/mysql/bin" BCK_DIR="/usr/src/mysqlbackup" #备份文件存放的位置...install crontabs /sbin/service crond start chkconfig --level 35 crond on 3.将上面的备份脚本加入到crontab服务中,使每天早上五点自动备份数据库
准备: 创建几个目录 mkdir -vp mysql_backup/data mysql_backup/logs mysql_backup/scripts data:用来存放备份数据 logs:存放脚本运行日志...scripts:存放备份脚本 1、指定数据库备份: [root@iZwz90hf9uqjtrspga3v5bZ kuliya]# cd mysql_backup/scripts/ [root@iZwz90hf9uqjtrspga3v5bZ.../data DATE=$(date +%Y%m%d%H%M) ######备份###### db=数据库名称 echo ----------backup begin----------...的ip地址 -P端口:配置要备份的MySQL端口 ----以上两项是为了防止单机MySQL配置了多个端口或者多个版本,以免出错 2、批量备份脚本: BACKUP_ROOT=/data/xvdb/mysql_backup...CROND[26420]: (root) CMD (/data/xvdb/mysql_backup/scripts/db_backup.sh > /data/xvdb/mysql_backup/logs
Python脚本自动备份Mysql数据库,此脚本会备份所有数据库,并按库名创建文件夹保存,只保留最近7天的备份数据。可自定义修改。支持Python2,、Python3。...= time.strftime("%Y%m%d%H%M%S") back_path = "/data/mysql_back/" out_time = 7*24*60*60 # 指定多少秒前的数据删除...-8类型的,需要制定数据库 conn = pymysql.connect( host=mysql_host, # 数据库地址 user=mysql_user..., # 数据库用户名 passwd=mysql_pwd, # 数据库密码 db='mysql',...数据库时,提示mysqldump: command not found的解决方法
Runtime rt = Runtime.getRuntime(); /** * 这是在windows下使用得数据备份命令:C:/Program Files/MySQL.../MySQL Server 5.7/bin/mysqldump * 在liunx下需要尝试:mysqldump */ String...command = "C:/Program Files/MySQL/MySQL Server 5.7/bin/mysqldump -u" + user + " -p" + password + " -...final Log logger = LogFactory.getLog(DbJob.class); // Environment environment 是用于获取spring配置文件值的接口...url中的数据库名称 int index1 = url.indexOf("3306/"); int index2 = url.indexOf("?")
Linux实现MySQL数据库凌晨自动备份 备份多数据库,每天凌晨两点执行,使用当前年月日作为文件夹,不存在该文件夹就创建,删除七天前备份过的文件。...-d $backup_dir ];then 12 mkdir -p $backup_dir 13 fi 14 15 # 将需要备份的数据放入...16 db_array=("dbName1" "dbName1" "dbName1") #配置要备份的数据库 17 18 19 for db_name in ${db_array...@localhost data]# crontab -e 我的脚本文件在 /home/data/backup.sh中。...我的是凌晨二点,小伙伴可以根据需要更改。 image.png
-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...将以上脚本加入定时计划crontab中即可,注意脚本的执行权限设置。
下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行。在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩。...需要注意的是,这段脚本仅适用数据一致性要求不高的环境。 #!.../bin/bash mysql_pwd="password" mysql_dump="/usr/local/mysql/bin/mysqldump" cur_year=$(date +"%Y") cur_month...=$(date +"%m") cur_day=$(date +"%d") dump_path="/usr/backup/mysql/$cur_year-$cur_month/$cur_day" arr_tables...-p$mysql_pwd --opt mydb $cur_table | gzip > $dump_path/$cur_table.sql.gz done 阳光部落原创,更多内容请访问 http://
总结来说,对数据库数据的压缩,至少有以下的好处: 使用更小的空间,节约成本,有调研认为,实际上存储的成本要高于 cpu 和内存,尽管单价更低,然而存储需求空间的膨胀高于对计算的需求。...更不用说各种列式数据库或者时序数据库了【由于其数据特点,往往更适合压缩】 压缩技术简介 由于数据库的特殊场景,和 generic 的数据压缩技术相比,应用的数据库中还需要考虑下面几点 应用在什么层次,row...下面会介绍先一些常用的传统技术,然后介绍在各种数据库中使用的压缩方式。...111000001111000 1 表示4出现在对应的位置 mysql 压缩 InnoDB 中默认使用 zlib 算法进行压缩,也可以选择 snappy、quicklz 等,详细的对比可以参考这里的一篇文章...) – 出色的压缩,但需要占用更多资源 zstd(从MongoDB 4.2开始支持) clickhouse 压缩 其中使用的 通用压缩算法其实和别的数据库差不多,比如: LZ4:非常高效的压缩算法,在SLS
Linux服务器自动备份Mysql数据库 shell脚本自动备份数据库,以防止数据出错时回滚数据 shell备份脚本代码 #!.../bin/bash sqlurl=数据库地址 sqlname=数据库账号 sqlpwd=密码 sqltab=数据库库名 sqlpath=/sql-back mkdir /data; cd /data;...files2=${data2%\ *}; mysqldump -h$sqlurl -u$sqlname -p$sqlpwd $sqltab >"$datam"/"$files1"; echo '备份数据库执行完毕...crontab -e #进去添加下边代码 */15 * * * * /data/shell/sql-back.sh #定时时间格式 脚本路径/脚本 #:wq保存退出即可 每隔15分钟备份一次,只备份最近2天的数据库...需要修改的自己改下时间
使用AutoMySQLBackup工具自动备份MySQL数据库 1.首先到官网查看开源软件AutoMySQLBackup下载地址。...修改内容:CONFIG_mysql_dump_username='root' 访问数据库的账号(本例中为root)....CONFIG_mysql_dump_password='aut0test' 访问数据库的密码(本例中为方便起见设置为aut0test,实际使用时请设置为足够复杂的密码)....16.继续修改要备份的数据库名称(如保持CONFIG_db_names=()则将备份所有数据库)。...20.修改压缩格式。 ?
192.168.1.2服务器对192.168.1.1服务器上的MySQL数据库进行备份。...必须满足的条件: 1、在192.168.1.1服务器上创建专门用来备份的数据库账号,并赋予相应的权限: mysql> grant select,lock tables on *.* to 'operator...'@'192.168.%.%' identified by '123456'; #备份数据库需要账号具有查看表和锁定表的权限 2、在192.168.1.2服务器上使用该账号进行手工备份,测试是否可以备份成功.../bin/bash #定义数据库连接、目标信息库等信息: user="operator" #定义用户名账号 pass="123456" #密码 host="192.168.1.1...test1" #备份目标库 data2="test2" bak="/opt/backup" #指定备份目录 cmd="/usr/local/mysql
领取专属 10元无门槛券
手把手带您无忧上云