在线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;
\测试并在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)阅读测试
\ (2)编写测试:
MySQL [(无)] \ gt;插入db_test.test值(“4”,” clieent”);
检查它是否写在主服务器上:
\实验完成