在Linux环境下mysql数据库备份

数据库是一个网站的核心,若是数据库发生异常或一不当心删了数据库,这对于一个网站来讲是一个毁灭性的打击,因此咱们的数据库必定要作好备份,这里我就记录下mysql的自动备份mysql

数据库的备份咱们使用到了mysql的mysqldump命令sql

/usr/local/mysql/bin/mysqldump -u用户名 -p密码 须要备份的数据库 > 数据库备份文件地址

咱们执行上面的命令核能会出现以下警告:数据库

mysqldump: [Warning] Using a password on the command line interface can be insecure.

出现如上警告这是因为数据库的密码直接输出在命令行,这是不安全的,解决以下:安全

(1):修改/etc/my.cnfwen文件bash

在[mysqldump]下填入以下命令:服务器

host = 127.0.0.1
user = 用户名
password = 密码

image.png

(2):修改mysqldump命令网站

将mysqldump命令修改以下:spa

/usr/local/mysql/bin/mysqldump --defaults-extra-file=/etc/my.cnf 须要备份的数据库 > 数据库备份文件地址

这样就不会出现警告了命令行

这里咱们使用mysqldump命令和crond(定时器)来实现数据库自动备份rest

1:编写自动备份脚本

我建立了一个目录专门放数据库自动备份脚本和数据库备份文件

mkdir /data/mysql_data

咱们建立一个backup_mysql.sh脚本,脚本内容为:

#!/bin/bash
date=`date +%Y%m%d`
filename="mysql${date}"
/usr/local/mysql/bin/mysqldump --defaults-extra-file=/etc/my.cnf blog > /data/mysql_data/${filename}.sql
ec /data/mysql_data/
tar zcPf ${filename}.tar.gz ${filename}.sql
rm -rf /data/mysql_data/${filename}.sql

编写完脚本以后保存退出,而后变动脚本的执行权限:

chmod +x /data/mysql_data/backup_mysql.sh

脚本编写完后咱们能够直接执行脚本,看看是否能够备份数据库:

/data/mysql_data/backup_mysql.sh

执行完成以后咱们能够看到咱们的数据库备份成功了

image.png

2:使用crond来实现脚本指定时间自动执行

使用以下命令进入cornd编辑页

crontab -e

而后再编辑与填入以下命令

0 0 * * * /data/mysql_data/backup_mysql.sh

而后执行:

service  crond reload #从新载入配置
service  crond restart #重启crond

这样天天00:00的时候Linux服务器就会自动执行这个脚本实现mysql自动备份

相关文章
相关标签/搜索