Rumah > Artikel > pangkalan data > 基于Gtid的mysql主从复制 和 mysql-proxy 读写分离
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
编辑配置文件 添加主从复制中 主 的一些配置参数。
16,启动mysql服务
16,# service mysqld restart17,进入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.220,启动mysql服务
# service mysqld restart21,使用主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: