Mysql 自动备份脚本2

yumo6666个月前 (03-29)技术文章48

备份方案:

备份主机:192.168.10.11

数据库服务器:192.168.10.22

备份内容:对mysql服务器中的xxxx和yyyy库进行远程备份,每天凌晨2:30执行,每个库备份为独立的.sql文件,然后压缩成.tar.gz的格式,文件名中嵌入执行备份的日期和时刻。

工作准备:

1、确保备份主机与数据库服务器之间的网络保持连接通畅,不能有网络链路故障,防火墙等阻碍。

2、mysql服务必须允许备份主机远程访问,且授权用户能够查询xxxx和yyyy库。

这儿可以创建一个专用的数据库备份账户"kanghui" 允许备份主机192.168.10.11连接到mysql数据库,并授权对xxxx和yyyy库的读取权限,使用逻辑备份工具mysqldump的时候,需要对库设置select和lock和tables权限。

mysql>grant select,lock tables on xxxx.*to 'kanghui'@'192.168.10.11' identified by '123456';

mysql>grant select,lock tables on yyyy.*to 'kanghui'@'192.168.10.11' identified by '123456';

设置访问权限后就在备份服务器上测试数据库访问,查询授权等是否有效。

[root@localhost ~]#mysqldump -u root -p123456 -h 192.168.10.22 --databases xxxx > ceshi.sql

[root@localhost ~]#ls -lh ceshi.sql

下面是一个mysql的备份脚本,根据自己的需求修改即可。

[root@localhost ~]#mkdir -p /opt/mysql_bak/
[root@localhost ~]#cd /opt/mysql_bak/
[root@localhost mysql_bak]# vim mysql_bak.sh
#!/bin/bash
#auto backup mysqldb
#by authors kanghui 2016-06-12
#这是一个简单化到MYSQL数据库逻辑备份脚本
#1.定义数据库链接,目标库信息
MY_user="root"
MY_pass="123456"
MY_host="192.168.10.22"
MY_conn="-u $MY_user -p$MY_pass -h $MY_host"
MY_db1="xxxx"
MY_db2="yyyy"
#2.定义备份目录,工具,时间,文件名
BF_dir="/opt/mysql_bak"
BF_cmd="/usr/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
$BF_cmd $MY_conn --databases $MY_db1 > $name_1.sql
$BF_cmd $MY_conn --databases $MY_db2 > $name_2.sql
/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 mysql_bak]#chmod +x mysql_bak.sh

[root@localhost mysql_bak]#./mysql_bak.sh

[root@localhost mysql_bak]#ls -lh /opt/mysql_bak/*.gz

最后把脚本加入带计划任务即可。

[root@localhost ~]#crontab -e
30 2 * * * /opt/mysql_bak/mysql_bak.sh

相关文章

mysql单表备份、单表复制

在 MySQL 中,可以通过以下步骤基于已有的表 t_device 创建一个新表 t_device_bk,并将 t_device 表的数据全复制到新表:方法一:使用 CREATE TABLE 和 IN...

mysql备份方法

MySQL备份的方法有很多种,以下是两种常用的方法:1. 使用mysqldump命令备份mysqldump是MySQL自带的备份工具,可以将MySQL数据库备份为SQL文件,使用方法如下:```mys...

Navicat实现 MYSQL数据库备份图文教程

#头条文章养成计划#数据库备份对于系统运维来说是必不可少的环节,对于企业来说,最珍贵的不是业务系统本身,而是业务系统所承载的业务数据,所以针对企业系统来说,做好数据库备份显得非常重要,今天给大家介绍使...

如何备份MySQL数据库?MySQL备份的完整指南

MySQL是广泛使用的关系型数据库管理系统。为了确保数据的安全性和完整性,备份是非常重要的。下面是备份MySQL数据库的完整指南:MySQL备份工具MySQL有多种备份工具可以使用。其中最常用的是my...

数据库备份软件--Iperius Backup

这款软件可以实现:驱动器映像,备份到NAS,云,FTP,Dropbox,OneDrive,Google Drive,S3 VMware ESXi, vCenter, ESXi Free, Hyper-...

数据库备份工具——mysqldump详解

mysqldump 是 MySQL 提供的一个备份工具,用于创建数据库的逻辑备份。备份生成的是 SQL 脚本文件,该文件包含重建数据库所需的 SQL 语句。以下是 mysqldump 的详细用法:基本...