MYSQL(二进制安装MYSQL5.7、基于MYSQL5.7的GTID复制、MYSQL的读写分离)

案例1、二进制安装MYSQL5.7


案例2、基于MYSQL5.7的GTID(两台主机)

1、 主服务器上

(1)vim  /etc/my.cnf

    [mysqld]

    server-id=17

    log-bin

    gtid_mode=ON

    enforce_gtid_consistency

    datadir=/data/mysql

    socket=/data/mysql/mysql.sock

    log-error=/data/mysql/mysql.log

    pid-file=/data/mysql/mysql.pid

    [client]

    socket=/data/mysql/mysql.sock

(2)service mysqld restart

(3)mysql> grant replication slave on *.* to repluser@'192.168.37.%' identified by 'centos';

2、从服务器上

(1)vim /etc/my.cnf

    [mysqld]

    server-id=27

    gtid_mode=ON

    enforce_gtid_consistency

    datadir=/data/mysql

    socket=/data/mysql/mysql.sock

    log-error=/data/mysql/mysql.log

    pid-file=/data/mysql/mysql.pid

    [client]

    socket=/data/mysql/mysql.sock

(2)service mysqld restart

(3)mysql>CHANGE MASTER TO MASTER_HOST='主服务器',

    MASTER_USER='repluser',

    MASTER_PASSWORD='centos',

    MASTER_PORT=3306,

    MASTER_AUTO_POSITION=1;

(4)mysql>start slave;


案例3、MYSQL读写分离(三台主机)

读写分离服务器:192.168.43.101        主服务器:192.168.43.102   从服务器:192.168.43.103

(1)首先实现主从服务器之间的主从复制,从服务器必须加read-only 选项

(2)配置yum安装路径,安装PROXYSQL数据库,检验数据库连接是否正常

(3)向ProxySQL中添加MySQL节点,并加载和保存到磁盘中,以下操作不需要use main也可成功

(4)添加监控后端节点的用户。ProxySQL通过每个节点的read_only值来自动调整它们是属于读组还是写组

在master上执行

ProxySQL上配置监控


1、监控模块的指标保存在monitor库的log表中

2、查看监控连接是否正常的 (对connect指标的监控):(如果connect_error的结果为NULL则表示正常)

3、查看监控心跳信息 (对ping指标的监控):

MySQL> select * from mysql_server_ping_log;

4、查看read_only和replication_lag的监控日志

MySQL> select * from mysql_server_read_only_log;

MySQL> select * from mysql_server_replication_lag_log;


(5)设置分组信息需要修改的是main库中的mysql_replication_hostgroups表,该表有3个字段:writer_hostgroup,reader_hostgroup,comment, 指定写组的id为10,读组的id为20


(6)配置发送SQL语句的用户

在master节点上创建访问用户

在ProxySQL配置,将用户sqluser添加到mysql_users表中, default_hostgroup默认组设置为写组10,当读写分离的路由规则不符合时,会访问默认组的数据库


使用sqluser用户测试是否能路由到默认的10写组实现读、写数据

mysql -usqluser -pmagedu -P6033 -h127.0.0.1 -e 'select @@server_id'

mysql -usqluser -pmagedu -P6033 -h127.0.0.1 -e 'create database testdb'

mysql -usqluser -pmagedu testdb -P6033 -h127.0.0.1 -e 'create table t(id int)'


(7)在proxysql上配置路由规则,实现读写分离

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。