mysql 编程 备份_mysql 容灾备份

本文将为您描述mysql 容灾备份,具体完成步骤:

跨服务器备份:

服务器A:192.168.5.193

测试数据库TestDB

服务器B:192.168.5.194

目标:将服务器A上的测试数据库定时备份到服务器B中

需要技术:mysqldump + crontab

步骤:

1.修改mysql远程连接访问权限

修改mysql的配置文件/mysql/my.conf,将bind-address后面增加远程访问IP地址或者禁掉这句话就可以让远程机登陆访问了。

2.增加服务器授权用户

在服务器A上:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

说明:

username:你将创建的用户名

host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%

password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

GRANT privileges ON databasename.tablename TO 'username'@'host'

说明:

privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

databasename:数据库名

tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*

本测试实例mysql语句为:

CREATE USER 'why'@'192.168.5.194' IDENTIFIED BY '123456';

GRANT privileges ON *.* TO 'why'@'192.168.5.194';

flush privileges; /*刷新一下权限*/

这样就建立了如下的用户权限表,在服务器端查看一下,命令为:

select user,host from mysql.user;

63567d6bc382a5eb5b5ff7349e2316d4.png

3.在服务器B上编写如下脚本

#!/bin/bash

my_user=why #服务器B的用户(必须是已经授权的)

my_pass=123456 #服务器A的用户密码

my_host=192.168.5.193 #要连接的服务器A

my_db1=TestDB #想要导出的服务器A的数据库(需要授权)

mm_dir=/home/fabric/backup/t2.sql #导出的地址

mysqldump_cmd=/usr/bin/mysqldump #mysqldump的可运行指令地址

local_usr=root #本地数据库的用户名

local_pass=000000 #本地数据库的密码

mysql_cmd=/usr/bin/mysql #mysql的可运行指令地址

$mysqldump_cmd -h $my_host -u $my_user -p$my_pass $my_db1 > $mm_dir

$mysql_cmd -u $local_usr -p$local_pass $my_db1 < $mm_dir

在命令行下进行测试,看看是否能够备份。

查看服务器A上的数据,这里的图形化工具是mysql workbench(使用起来还不错)

e501cbe7a1a91706b63d40240dd52008.png

bc534f6ee86ea11ba844f6f5286ba30c.png

运行如上脚本后,查看服务器B的数据。

0325182fff5554023a3ce8e92b316ac3.png

0cf38bf507b12f766e357efb3e4a837c.png

/可以看到这里备份成功了/

使用crontab进行定时备份

crontab -e后

1 * * * * ~/backupDatabases.sh

以上命令使得,每小时的第一分钟,对数据库进行备份,当然也可以随意修改一些时间。mysql 容灾备份就为您介绍到这里,感谢您关注懒咪学编程c.lanmit.com.

本文地址:https://c.lanmit.com/shujuku/MySQL/2150.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值