mysql异步备库,MySQL主从异步复制备份案例及Amoeba是实现读写分离

bc3f9276acf88283a0569b9b9ef9ee92.png

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

实验环境:1个主机和2个从机

MySQL-master \\\\ n 192.168.200.111

MySQL-slave1 \\ n 192.168.200.112

MySQL-slave2 \ 192.168.200.113

所有服务器都关闭防火墙

所有服务器安装yum-y install mariadb \\ ub26; mariadb服务器

systemctl启动mariadb

建立时间同步环境,在主服务器上安装和配置NTP时间同步服务器

主要:yum-y install ntp

cp \\\/etc/ntp.conf\\u0026nbsp;/etc/ntp.conf.bak

vim \\ n/etc/ntp.conf

\//手动添加

22服务器127.127.1.0

23软糖127.127.1.0 startum 8

systemctl \\ n启动ntpd

修改配置文件:vim/etc/my.cnf

[mysqld]

server_id = 1

log-bin = mysql-binlog

log-slave-updates = true

systemctl重新启动mariadb

mysql \\\登录数据库

授权从属服务器

MariaDB [(无)] \ gt;在*上授予复制从属。 *以” 123123″标识的” slave” @” 192.168.200。%”;

MariaDB [(无)] \ gt;同花顺特权;

mysql \>显示主人身份;

+———————+———-+————-+——————+——————————————+

|档案|职位| Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+———————+———-+————-+——————+——————————————+

| mysql-binlog.000004 | 642 | | | fd47807d-efdc-11e9-abaa-000c29d5bd44:1-2 |

+———————+———-+————-+——————+——————————————+

\配置辅助服务器

yum-y安装\\ ubsp; ntpdate

ntpdate 192.168.200.111

[mysqld]

server-id = 2 \\ #主从服务器server-id不能相同! ,两个从属服务器的服务器ID不能相同。

##启用中继日志

relay-log-index = slave-relay-bin.index

systemctl重新启动mariadb

mysql \\\ #登录MySQL

MariaDB [(无)] \ gt;将master更改为master_host =” 192.168.200.111″,master_user =” slave”,master_password =” 123123″,master_log_file =” mysql-binlog.000001″,master_log_pos = 245;

MariaDB [(无)] \ gt;启动奴隶; #打开主从复制功能

MariaDB [(无)] \ gt;显示从站状态\\\\ G;

d386c153cc32207e20e440548766588d.png

\测试并在111上创建一个数据库,以查看从属服务器是否写入

两个。变形虫实现MySQL读写分离

实验环境:

192.168.200.111 \\ ub26; MySQL大师

192.168.200.112 \\ ubsp; MySQL-slave1

192.168.200.113 \ MySQL-slave2

192.168.200.114 \ 变形虫

192.168.200.115 \\ ubsp; 客户

首先实现MySQL数据库的主从复制,请参见上面编写的方法

1.安装Amoeba以安装Java环境(建议安装jdk1.5或1.6,不建议安装1.7版)

必需的软件包可用

amoeba-mysql-binary-2.2.0.tar.gz

jdk-6u14-linux-x64.bin

chmod + x jdk-6u14-linux-x64.bin

https://www.cnblogs.com/maoyanqing/p/jdk-6u14-linux-x64.bin

一直到空格,输入yes,然后按Enter

mv jdk1.6.0_14//usr/local/jdk1.6

vim/etc/profile

export JAVA_HOME =/usr/local/jdk1.6

export CLASSPATH = $ CLASSPATH:$ JAVA_HOME/lib:$ JAVA_HOME/jre/lib

export PATH = $ PATH:$ JAVA_HOME/bin:$ JAVA_HOME/jre/bin

export AMOEBA_HOME =/usr/local/变形虫/

export PATH = $ PATH:$ AMOEBA_HOME/bin

源/等/配置文件

java-version

检查版本是否为1.6

如果不是rm。-rf/usr/bin/java

安装和配置变形虫

mkdir/usr/local/变形虫

tar xf amoeba-mysql-binary-2.2.0.tar.gz-C/usr/local/amoeba/

chmod-R 755/usr/local/变形虫/

3.配置变形虫以实现mysql-slave1和mysql-slave2读取负载平衡

在三台MySQL服务器上授权变形虫

MariaDB [(无)] \ gt;授予所有*。 *以” 123123″标识的” admin” @” 192.168.200。%”;

cd/usr/local/变形虫/conf/

MariaDB [(无)] \ gt;同花顺特权;

编辑配置amoeba.xml配置文件,设置读写分隔

cp amoeba.xml amoeba.xml.bak

vim amoeba.xml

11 \ \ lt;属性名称=”端口”> 8066 lt;/属性>//默认端口为8066,无需修改

30 \ \ lt;属性名称=”用户”变形虫/属性>//设置一个用户,以后将用于客户端访问

32 \\ n \ lt;属性名称=”密码”> 123123 \ lt;/属性> //设置登录密码

115 \ \ lt;属性名称=” defaultPool” \ gt;母版lt;/属性> //默认服务器池

117; \ lt;属性名称=” writePool” \母版lt;/属性> //编写服务器池

118 \ \ lt;属性名称=” readPool” \ gt;奴隶/属性> //读取服务器池

有些人有评论!!-\ \\–> ,删除他

编辑dbServer.xml配置文件,设置用于登录MySQL服务器的用户和密码,MySQL服务器节点的IP地址以及负载平衡算法

\ cp dbServers.xml dbServers.xml.bak

vim dbServers.xml

20 \ \ lt;属性名称=”端口”> 3306 lt;/属性>//设置MySQL连接端口,默认为3306

26 \ \ lt;属性名称=”用户”管理员\ lt;/属性> //设置用于访问MySQL服务器的用户名

29 \ \ lt;属性名称=”密码”> 123123 \ lt;/属性> //设置用于访问MySQL服务器的密码

45; \ lt; dbServer名称=”主服务器”。 parent =” abstractServer” \ gt;//设置MySQL服务器和IP地址

48 \ \ lt;属性名称=” ipAddress” \> 192.168.200.111 \ lt;/属性> //主要的MySQL服务器IP地址

52 \ \ lt; dbServer名称=” slave1″ \\ n parent =” abstractServer” \ gt;

55; \ lt;属性名称=” ipAddress” \> 192.168.200.112 \ lt;/属性>//服务器的Slave1 IP地址

58 \\\ \ lt; dbServer名称=” slave2″ \\ n parent =” abstractServer” \ gt;

61 \ \ lt;属性名称=” ipAddress” \> 192.168.200.113 \ lt;/属性>//从服务器获取从站2 IP地址

因为没有slave2配置,请复制slave1。配置\\,添加和修改

65 \ \ lt; dbServer name =” slaves” virtual =” true” \> //服务器池

71 \ lt;属性名称=” poolNames” \ gt; slave1,slave2 \ lt;/属性> //先前定义的服务器节点名称

4.\启动变形虫

nohup \/usr/本地/变形虫/bin/变形虫开始\

netstat-lnpt | grep 8066

5.测试

这三台MySQL服务器目前是主从备份

在mysql-master中在该库下创建db_test库和测试表

MariaDB [(无)] \ gt;创建数据库db_test;

MariaDB [db_test] \ gt;创建表测试(id int(10),名称varchar(20));

您可以在112和113上查看库

显示\数据库;

在112和113个服务器上停止主从备份

MariaDB [(无)] \ gt;停止奴隶;

在111上添加表格内容

MariaDB [db_test] \ gt;插入测试值(“1”,” master”);

以前在服务器上同步了表,因此您可以在从属服务器上直接手动插入其他内容

在slave1上:

MariaDB [(无)] \ gt;插入db_test.test值(“2”,” slave1″);

在slave2上:

MariaDB [(无)] \ gt;插入db_test.test值(“3”,” slave2″);

在客户端115上阅读测试:

yum-y安装mariadb

mysql-uamoeba-p123123-h 192.168.200.114-P8066

(1)阅读测试

009682673320f8dea6412683bd63eb84.png

\ (2)编写测试:

MySQL [(无)] \ gt;插入db_test.test值(“4”,” clieent”);

检查它是否写在主服务器上:

8c3687c136d9ce22c29c9747e2ac0114.png

\实验完成

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值