Linux自动备份MySQL

首先找到你的MySQL配置文件my.cnf

$ locate my.cnf
> /etc/my.cnf

然后修改它,

$ nano /etc/my.cnf

[client]里增加三行:

host = localhost
user = root
password = yourpassword
本来不需要这些操作,直接把用户名密码写到备份脚本里就可以,
但是 MySQL 5.6 之后在命令行里写密码会出现警告。

然后创建脚本文件mybak.sh

$ nano ~/mybak.sh

文件内容如下:

#!/bin/bash

root="/data/backup/"
dir=`date "+%y%m%d/"`

mkdir -p $root$dir
cd $root$dir

/usr/local/mysql/bin/mysqldump db1 > db1.sql
/usr/local/mysql/bin/mysqldump db2 > db2.sql
/usr/local/mysql/bin/mysqldump db3 > db3.sql

记得给它执行的权限:

$ chmod +x ~/mybak.sh

然后再修改crontab

$ export EDITOR=nano
$ crontab -e

export EDITOR=nano 将nano设置为默认编辑器

添加一行

0 1 * * * ~/mybak.sh >> ~/mybak.log 2>&1 &

意思是每天1:00的时候执行~/mybak.sh,并且将所有输出记录到~/mybak.log


王道中强流
不为繁华易匠心

在福州“土生土长”的 1986 年老程序员一枚,专注 Web 技术三十年。

1.7k 声望
44 粉丝
0 条评论
推荐阅读
Y 分钟学 Bash
Bash 是一个为 GNU 计划编写的 Unix shell,是 Linux 和 Mac OS X 下的默认 shell。以下大多数例子可以作为脚本的一部分运行,也可直接在 shell 下交互执行。

小X学技术1阅读 4.6k评论 1

万字长文~vue+express+mysql带你彻底搞懂项目中的权限控制(附所有源码)
所谓的权限,其实指的就是:用户是否能看到,以及是否允许其对数据进行增删改查的操作,因为现在开发项目的主流方式是前后端分离,所以整个项目的权限是后端权限控制搭配前端权限控制共同实现的

水冗水孚7阅读 1k

分布式高可用Mysql数据库Percona XtraDB Cluster 8.0 与 Proxysql 史上最详尽用法指南
PXC是Percona XtraDB Cluster的缩写,是 Percona 公司出品的免费MySQL集群产品。PXC的作用是通过mysql自带的Galera集群技术,将不同的mysql实例连接起来,实现多主集群。在PXC集群中每个mysql节点都是可读可写的...

apollo0084阅读 7.1k评论 2

一次偶然机会发现的MySQL“负优化”
今天要讲的这件事和上述的两个sql有关,是数年前遇到的一个关于MySQL查询性能的问题。主要是最近刷到了一些关于MySQL查询性能的文章,大部分文章中讲到的都只是一些常见的索引失效场合,于是我回想起了当初被那个...

骑牛上青山5阅读 1k评论 3

MongoDB 插入时间与更新时间(create_time/update_time)
MongoDB 在数据库层面不能像 MySQL 一样设置自动创建 create_time/update_time,自动更新 update_time

qbit阅读 13.8k评论 2

Mysql索引覆盖
通常情况下,我们创建索引的时候只关注where条件,不过这只是索引优化的一个方向。优秀的索引设计应该纵观整个查询,而不仅仅是where条件部分,还应该关注查询所包含的列。索引确实是一种高效的查找数据方式,但...

京东云开发者2阅读 650

封面图
SegmentFault 思否技术周刊 Vol.70 — 深入 MySQL 实战
MySQL 软件采用了 GPL( GNU 通用公共许可证),由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。

Beverly2阅读 1.3k

封面图

在福州“土生土长”的 1986 年老程序员一枚,专注 Web 技术三十年。

1.7k 声望
44 粉丝
宣传栏