mysql主从搭建使用gtid_mysql主从之gtid主从搭建

/data/{master20,slave21,slave22}/{data,binlog}

主库端口3320

从库端口分别为3321,3322

配置文件如下:

cat> /data/master20/my.cnf <

[mysqld]

basedir=/opt/mysql/datadir=/data/master20/data

socket=/data/master20/mysql.sock

server_id=100port=3320secure-file-priv=/tmp # 配置的数据库安全路径, 能在数据库界面中直接导出结果到该目录下.

autocommit=0log_bin=/data/master20/binlog/master20-bin

binlog_format=row

gtid-mode=on

enforce-gtid-consistency=truelog-slave-updates=1user=mysql

character_set_server=utf8mb4

[mysql]

prompt=master20 [\\d]>EOF

cat> /data/slave21/my.cnf <

[mysqld]

basedir=/opt/mysql/datadir=/data/slave21/data

socket=/data/slave21/mysql.sock

server_id=110port=3321secure-file-priv=/tmp

autocommit=0log_bin=/data/slave21/binlog/slave21-bin

binlog_format=row

gtid-mode=on

enforce-gtid-consistency=truelog-slave-updates=1user=mysql

character_set_server=utf8mb4

[mysql]

prompt=slave21 [\\d]>EOF

cat> /data/slave22/my.cnf <

[mysqld]

basedir=/opt/mysql/datadir=/data/slave22/data

socket=/data/slave22/mysql.sock

server_id=120port=3322secure-file-priv=/tmp

autocommit=0log_bin=/data/slave22/binlog/slave22-bin

binlog_format=row

gtid-mode=on

enforce-gtid-consistency=truelog-slave-updates=1user=mysql

character_set_server=utf8mb4

[mysql]

prompt=slave22 [\\d]>EOF

1.2 初始化三个实例

mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/master20/data

mysqld--initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/slave21/data

mysqld--initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/slave22/data

1.2 配置systemd启动

cd /etc/systemd/system

cp mysqld.service master20.service

cp mysqld.service slave21.service

cp mysqld.service slave22.service

vim master20.service

ExecStart=/opt/mysql/bin/mysqld --defaults-file=/data/master20/my.cnf

vim slave21.service

ExecStart=/opt/mysql/bin/mysqld --defaults-file=/data/slave21/my.cnf

vim slave22.service

ExecStart=/opt/mysql/bin/mysqld --defaults-file=/data/slave22/my.cnf

chown -R mysql.mysql /data/*systemctl start master20.service

systemctl start slave21.service

systemctl start slave22.service

1.3 补充:

以上步骤详情可参考本人另一篇数据库安装: https://www.cnblogs.com/quzq/p/12904956.html

2. GTID复制

2.2 GTID介绍

GTID(Global Transaction ID)是对于一个已提交事务的唯一编号,并且是一个全局(主从复制)唯一的编号。

它的官方定义如下:

GTID=source_id :transaction_id

7E11FA47-31CA-19E1-9E56-C43AA21293967:29 # gtid编号的格式什么是sever_uuid,和Server-id 区别?

核心特性: 全局唯一,具备幂等性

2.3 GTID核心参数

gtid-mode=on

enforce-gtid-consistency=truelog-slave-updates=1gtid-mode=on --启用gtid类型,否则就是普通的复制架构

enforce-gtid-consistency=true --强制GTID的一致性

log-slave-updates=1 --slave更新是否记入日志

2.3 构建主从

master:3320slave:3321,3322

3320:

grant replication slave on*.* to repl@‘%‘ identified by ‘123‘;21\22:

change master to

master_host=‘10.0.0.51‘,

MASTER_PORT=3320,

master_user=‘repl‘,

master_password=‘123‘,

MASTER_AUTO_POSITION=1;

start slave;

mysql主从之gtid主从搭建

标签:span   prompt   logs   tps   数据   补充   _for   格式   数据库软件

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/quzq/p/12941531.html


版权声明:本文为weixin_33239721原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。