1、创建备份目录
# mkdir /mydata/bak
2、创建备份脚本
# vi /usr/sbin/bakmysql.sh
#!/bin/bash
#Name:bakmysql.sh
#This is a shellscript for atuo db backup and delete old backup.
#Jxy
#

bakdir=/mydata/bak
time=`date +%Y%m%d`
mysql_bin_dir=/usr/local/mysql/bin

#备份并压缩
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf sys|gzip > "$bakdir/sys"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf iportal|gzip > "$bakdir/iportal"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf kino|gzip > "$bakdir/kino"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf connector|gzip > "$bakdir/connector"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf hfy|gzip > "$bakdir/hfy"_"$time.sql.gz"

#删除创建时间大于90天的备份文件
/bin/find $bakdir -name "sys_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
/bin/find $bakdir -name "iportal_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
/bin/find $bakdir -name "kino_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
/bin/find $bakdir -name "connector_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
/bin/find $bakdir -name "hfy_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
3、为脚本添加执行权限
# chmod 700 /usr/sbin/bakmysql.sh
4、添加定时任务
# crontab -e
7 3 * * 6 root /usr/sbin/bakmysql.sh
#每周六03:07执行脚本
5、查看定时任务是否添加成功
# crontab -l
6、重启crontab
# /etc/rc.d/init.d/crond restart 或者service crond restart
7、恢复数据备份文件:
非压缩备份文件恢复:
# mysql -u root -p dataname < name20XXXXXX.sql
从压缩文件直接恢复:
# gunzip < name20XXXXXX.sql.gz | mysql -u root -p dataname
或:
# zcat name20XXXXXXXX.sql.gz | mysql -u root -p


Mysql5.6+ mysqldump报错 Warning: Using a password on the command line interface can be insecure.
1、修改数据库配置文件,/etc/my.cnf或/etc/my.conf
在[client]部分添加脚本:
host=localhost
user=数据库用户
password='数据库密码'

2、采用命令导出和导入数据库
#导出数据库
# mysqldump --defaults-extra-file=/etc/my.cnf database > database.sql
#导入数据库
# mysql --defaults-extra-file=/etc/my.cnf database < database.sql

linux配置定时备份mysql数据库的更多相关文章

  1. Linux下定时备份MySQL数据库的Shell脚本

    Linux下定时备份MySQL数据库的Shell脚本   对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间 ...

  2. linux设置定时备份mysql数据库

    最近写自己的项目,买了阿里云服务器,可以在云上根据自己想到的需求随意使用技术,感觉很爽.备份mysql流程如下: 环境:CentOS Linux release 7.2.1511 (Core) mys ...

  3. linux上定时备份mysql数据库

    定时备份数据库 /usr/sbin/backupmysql timestamp=`date +"%Y-%m-%d-%H-%M-%S"` mysqldump -uroot -p'12 ...

  4. 让linux每天定时备份MySQL数据库并删除五天前的备份文件

    MYSQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据.利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的. 1. ...

  5. Linux实现定时备份MySQL数据库并删除30天前的备份文件

    1. MySQL5.6以上版本 2. 修改 /etc/my.cnf 文件 # vim /etc/my.cnf [client] host=localhost user=你的数据库用户 password ...

  6. linux下使用crontab定时备份MYSQL数据库的方法:

    摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...

  7. Linux shell实现每天定时备份mysql数据库

    每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据: 需求: 1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3 ...

  8. Linux下自动备份MySQL数据库并上传到远程FTP服务器

    Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明:  1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...

  9. 【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件

    项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...

  10. 定时备份mysql数据库的shell脚本

    最近项目需要定时备份mysql数据库的数据,根据需求写了一份定时备份mysql数据库的脚本. -h mysql的地址  默认为localhost -P 端口号  默认为3306 -u 用户  默认为r ...

随机推荐

  1. 常用得cron表达式

    0 10 0 1 * ? //每月1号的0:10:00执行 0 01 00 28-31 * ? #月底最后一天早上凌晨1点执行 异常: 查询是否有特殊字符: cat -A ***.sh 解决方法: 1 ...

  2. VS2010配置WTL

    1.首先去下载WTL 地址:http://wtl.svn.sourceforge.net/viewvc/wtl/?view=tar 2.安装App Wizard 找到"VS安装目录\VC\V ...

  3. apk文件结构

    APK (Android Package) 文件,是一个后缀名为.apk的压缩文件,APK文件中包含了一个Android应用程序的所有内容,是Android平台用于安装应用程序的文件. assets  ...

  4. 抽取JDBC工具类:JDBCUtils

    目的:简化书写 分析:     驱动注册,连接对象创建,其中包括输入驱动,数据库的地址,以及用户名和密码,每次编写代码都需要重复编写,如果每次使用的都是同一个账户的同一个数据库,代码的重复读很高,甚至 ...

  5. Python 使用mysql.connector、pymysql和 MYSQLdb(MysqlClient)操作MySQL数据库

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一.本文主要介绍安装mysql.connector,. ...

  6. brew mongodb 安装 使用 brew update

    参考: 菜鸟教程 https://www.runoob.com/mongodb/mongodb-osx-install.html https://juejin.cn/post/697403663320 ...

  7. django连接ubuntu22下的mysql8

    1.安装mysql(这里就不过多赘述了) sudo apt-get install mysql-server 2.登录mysql   (1) 在 根目录/etc/mysql/debian.cnf ,使 ...

  8. pytest_runtest_makereport 获取pytest的测试结果和caseid

    目的: 自动获取pytest case执行结果和caseid 存为变量,后续可以和case管理工具集成 @pytest.hookimpl(hookwrapper=True, tryfirst=True ...

  9. Jupyter Notebook安装代码提示功能

    默认Jupyter Notebook没有安装代码提示功能,但是我们可以可通过如下命令安装和配置使得Jupyter Notebook具备代码提供功能. (确保Anaconda在环境变量里)1.电脑上搜索 ...

  10. 【Selenium IDE】下载安装Chrome和Firefox插件IDE ide了解就行 不是重点 重点是写脚本

    下载安装Chrome和Firefox插件IDE 1.Chrome的IDE安装(1)由于chrome的限制所以提供了一个小方法:链接: https://www.crx4chrome.com/crx/77 ...