当前位置:Gxlcms > mysql > 基于Gtid的mysql主从复制和mysql-proxy读写分离

基于Gtid的mysql主从复制和mysql-proxy读写分离

时间:2021-07-01 10:21:17 帮助过:41人阅读

mysql5.6基于gtid主从复制和mysql-proxy读写分离MySQL5.6引入的GTID(GlobalTransactionIDs)使得其复制功能的配置、监控及管理变得更加易于实现,且更加健..

主从复制的IP地址分配和主从关系

配置主从复制注意事项:

1,两台服务器时间需要同步

2,相互都能通信ping的通

3,关闭SElinux

mysql版本:mysql-proxy-0.8.3-linux-glibc2.3-x86-32bit.tar.gz

系统版本:redhat 6.4 32位

配置步骤:

提醒:本文的配置过程每一步前面都有(0-9) 数字表名,请按照此顺序配置。

mysql 安装配置

mysql 安装配置 1,# mkdir /mydata/data -pv 2,# useradd -r mysql # chown -R mysql.mysql /mydata/data/ 3,# tar xvf mysql-5.6.10-linux-glibc2.5-i686.tar.gz -C /usr/local 4,# cd /usr/local/ 5,# ln -sv mysql-5.6.10-linux-glibc2.5-i686 mysql 6,# cd mysql 7,# chown -R root.mysql ./* 8,# scripts/mysql_install_db --user=mysql --datadir=/mydata/data 9,# cp support-files/mysql.server /etc/init.d/mysqld 10,# chkconfig --add mysqld

下面是配置文件部分 ,值得注意的是在下面配置文件中server-id 此项的值 不能重复。主从不能一样。

11,# vim /etc/local/mysql/my.cnf 添加以下几项 datadir = /mydata/data innodb_file_per_table = ON server-id = 1 从服务器不能跟此id重复 socket=/tmp/mysql.sock log-bin = master-bin 12,# service mysqld start 13,# vim /etc/profile.d/mysqld 添加 export PATH=$PATH:/usr/local/mysql/bin 14,# . /etc/profile.d/mysqld 重读配置文件

下一步开始配置从mysql。配置从服务器,步骤如上,尤其注意的事 /etc/local/mysql/my.cnf 中server-id 值 不能重复!!!


配置主从mysql
编辑配置文件 添加主从复制中 主 的一些配置参数。

master 15,# vim /usr/local/mysql/my.cnf 贴入以下信息 binlog-format=ROW log-slave-updates=true gtid-mode=on enforce-gtid-consistency=true master-info-repository=TABLE relay-log-info-repository=TABLE sync-master-info=1 slave-parallel-workers=2 binlog-checksum=CRC32 master-verify-checksum=1 slave-sql-verify-checksum=1 binlog-rows-query-log_events=1 report-port=3306 port=3306 report-host=172.16.66.1

16,启动mysql服务

16,# service mysqld restart

17,进入mysql 数据库 查看gtid 等相关信息

# mysql # mysql> show global variables like '%gtid%';

18,创建复制用户并赋予权限

mysql> GRANT REPLICATION SLAVE ON *.* TO laogen@172.16.%.% IDENTIFIED BY 'laogen'; mysql> flush privileges; mysql> SELECT @@autocommit

下面是编mysql 从的 服务配置信息!!!

slave 19,编辑从mysql 配置文件 # vim /usr/local/mysql/my.cnf 添加以下内容 binlog-format=ROW log-slave-updates=true gtid-mode=on enforce-gtid-consistency=true master-info-repository=TABLE relay-log-info-repository=TABLE sync-master-info=1 slave-parallel-workers=2 binlog-checksum=CRC32 master-verify-checksum=1 slave-sql-verify-checksum=1 binlog-rows-query-log_events=1 report-port=3306 port=3306 report-host=172.16.66.2

20,启动mysql服务

# service mysqld restart

21,使用主mysql上创建的账号密码登陆复制。

# msyql>change master to master_host='172.16.66.1', master_user='laogen',master_password='laogen',master_auto_position=1; # mysql>start slave; # mysql>SHOW SLAVE STATUS\G 查看复制状态信息

接下来进入调试和验证步骤。

在主mysql 上创建数据库 监测 从是否能复制

22,登陆进主mysql数据库里 并 创建数据库从是否能同步成功。

# mysql> CREATE DATABASE LAOGEN;

23,登陆从mysql 验证数据库

# mysql> SHOW DATABASE;

检查二进制文件同步位置是否一致,两者对比一下!!!!

24,在主mysql数据库里面执行

mysql>show master status\G

25,在从mysql数据库里面执行,同样也是这条命令。

mysql>show master status\G

到此为止 基于Gtid的mysql主从复制 配置成功!!!

#######################################################################

#######################################################################

mysql-proxy主从分离

下面我们就在上面mysql主从复制基础上配置mysql-proxy 读写分离,需要在主从之外另外加一台服务器,注意此mysql-proxy 尽量和 主从一个网段,保证能ping通,时间同步。

IP配置信息如下:

先简单的介绍一下mysql-proxy:

人气教程排行