《mysql容灾备份.doc》由会员分享,可在线阅读,更多相关《mysql容灾备份.doc(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1mysql 容灾备份容灾备份跨服务器备份:服务器 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 上:CREATEUSER#39;username#39;#39;host#39;IDENTIFIEDBY#39;pas
2、sword#39;说明:username:你将创建的用户名host:指定该用户在哪个主机上可以登陆,如果是本地用户可用2localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器GRANTprivilegesONdatabasename.tablenameTO#39;username#39;#39;host#39;说明:privileges:用户的操作权限,如 SELECT,INSERT,UPDATE 等,如果要授予所的权限则使用 ALLdatabasename:数据库名tablename
3、:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*本测试实例 mysql 语句为:CREATEUSER#39;why#39;#39;192.168.5.194#39;IDENTIFIEDBY#39;123456#39;GRANT privileges ON*.*TO#39;why#39;#39;192.168.5.194#39;flush privileges;/*刷新一下权限*/这样就建立了如下的用户权限表,在服务器端查看一下,命令为:select user,host from mysql.user;3.在服务器 B 上编写如下脚本3#!/bin/bashmy_user
4、=why#服务器 B 的用户(必须是已经授权的)my_pass=123456#服务器A 的用户密码my_host=192.168.5.193#要连接的服务器 Amy_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_db14$mm_dir$mysql_cmd-u$local_usr-p$local_pass$my_db1 lt;$mm_dir在命令行下进行测试,看看是否能够备份。查看服务器 A 上的数据,这里的图形化工具是 mysql workbench(使用起来还不错)运行如上脚本后,查看服务器 B 的数据。/可以看到这里备份成功了/使用 crontab 进行定时备份crontab-e 后1*/backupDatabases.sh以上命令使得,每小时的第一分钟,对数据库进行备份,当然也可以随意修改一些时间。