Heim >Datenbank >MySQL-Tutorial > 基于Gtid的mysql主从复制 和 mysql-proxy 读写分离

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

WBOY
WBOYOriginal
2016-06-07 17:41:541037Durchsuche

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%';

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

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 查看复制状态信息

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

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

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

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

# mysql> CREATE DATABASE LAOGEN;

23,登陆从mysql 验证数据库

# mysql> SHOW DATABASE;

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

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

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

mysql>show master status\G

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

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

mysql>show master status\G

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

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

 

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

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

mysql-proxy主从分离

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

IP配置信息如下:

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn