您现在的位置是:网站首页>>数据库>>mysql

在Linux环境下mysql数据库备份

发布时间:2019-11-15 16:22:53作者:wangjian浏览量:494点赞量:0

    数据库是一个网站的核心,如果数据库发生异常或一不小心删了数据库,这对于一个网站来说是一个毁灭性的打击,所以我们的数据库一定要做好备份,这里我就记录下mysql的自动备份

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

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

    我们执行上面的命令核能会出现如下警告:

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

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

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

    在[mysqldump]下填入如下命令:

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

    image.png

    (2):修改mysqldump命令

    将mysqldump命令修改如下:

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

    这样就不会出现警告了

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

    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
    cd /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自动备份

0 +1