mysql 容灾备份
2021/9/16 2:06:49
本文主要是介绍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;
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(使用起来还不错)
运行如上脚本后,查看服务器B的数据。
/可以看到这里备份成功了/
4.使用crontab进行定时备份
crontab -e后
1 * * * * ~/backupDatabases.sh
以上命令使得,每小时的第一分钟,对数据库进行备份,当然也可以随意修改一些时间。
相关链接:[https://www.cnblogs.com/whyaza/p/11118768.html]
这篇关于mysql 容灾备份的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南