• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用脚本自动化远程备份MySQL数据库

mysql 搞代码 4年前 (2022-01-09) 29次浏览 已收录 0个评论

通常情况下、mysql都需要备份,备份的方法有很多种。下面是我用脚本配合计划任务完成的自动备份远程的数据库。

通常情况下、mysql都需要备份,备份的方法有很多种。下面是我用脚本配合计划任务完成的自动备份远程的数据库。

一、 确认备份方案:

备份机:ip192.168.8.51

数据库服务器:ip192.168.8.46

备份的内容:对mysql的studydb、coursedb库进行远程备份、每天2:30执行,每个库备份为独立的sql文件。然后压缩为tar.gz格式,文件中嵌入备份的日期和时刻。

1. 创建数据库:

[root@ns ~]# service mysqld status

mysqld (pid 3554) 正在运行…

[root@ns ~]# mysqladmin -uroot -p password 123123 ##更改密码

Enter password: ##输入原密码

[root@ns ~]# mysql -uroot -p123123

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 8

Server version: 5.0.77-log Source distribution

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql>

mysql> create database studydb; ##创建数据库

Query OK, 1 row affected (0.05 sec)

mysql> create database couredb;

Query OK, 1 row affected (0.00 sec)

2. 给数据库赋权:

mysql> grant select,lock tables on studydb.* to ‘operator’@’192.168.8.51’ identified by ‘pwd123’; ##使用逻辑工具备份工具mysqldump是需要对库有select和lock tables的权限

Query OK, 0 rows affected (0.00 sec)

mysql> grant select,lock tables on coursedb.* to ‘operator’@’192.168.8.51’ identified by ‘pwd123’;

Query OK, 0 rows affected (0.00 sec)

3. 在192.168.8.51测试备份:

[root@localhost ~]# cd /tmp

[root@localhost tmp]# mysqldump -u operator -ppwd123 -h 192.168.8.46 –databases studydb >test.sql

[root@localhost tmp]# ls

bin games test.sql

二、 在192.168.8.51编写Mysql备份脚本:

[root@localhost ~]# mkdir /root/bin

[root@localhost ~]# cd /root/bin

[root@localhost bin]# vi dbbak.sh

#!/bin/bash

#这是一个简单的mysql数据库逻辑备份脚本

#1.定义数据库连接、目标库信息

MY_USER=”operator”

MY_PASS=”pwd123″

MY_HOST=”192.168.8.46″

MY_CONN=”-u $MY_USER -p$MY_PASS -h $MY_HOST”

MY_DB1=”studydb”

MY_DB2=”coursedb”

#2.定义备份目录、工具、时间、文件名主体

BF_DIR=”/opt/dbbak/”

BF_CMD=”/usr/local/bin/mysqldump”

BF_TIME=`date +%Y%m%d-%H%M`

NAME_1=”$MY_DB1-$BF_TIME”

NAME_2=”$MY_DB2-$BF_TIME”

#3.先导出为.sql脚本,,然后再进行压缩(打包后删除原文件)

cd $BF_DIR/

/bin/tar zcf $NAME_1.tar.gz $NAME_1.sql –remove &>/dev/null

/bin/tar zcf $NAME_2.tar.gz $NAME_2.sql –remove &>/dev/null

[root@localhost bin]# mkdir /opt/dbbak ###创建备份目录

[root@localhost bin]# chmod a+x dbbak.sh ###给脚本执行权限

[root@localhost bin]# dbbak.sh ##运行脚本

[root@localhost bin]# ls /opt/dbbak/ ###验证效果

coursedb-20130505-0311.tar.gz studydb-20130505-0311.tar.gz

三、 在192.168.8.51上设置计划任务:

[root@localhost bin]# crontab -e

30 2 * * * /root/bin/dbbak.sh

[root@localhost bin]#本文来源gao@daima#com搞(%代@#码网@ chkconfig crond on

[root@localhost bin]# service crond status

crond (pid 3263) 正在运行…

好了数据库备份这件事就搞定了。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用脚本自动化远程备份MySQL数据库

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址