通过 mysqldump 搭建基于 gtid MySQL 5.7 主从复制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过 mysqldump 搭建基于 gtid MySQL 5.7 主从复制相关的知识,希望对你有一定的参考价值。

安装主从 mysql 5.7

# 主 MySQL5.7
useradd mysql /sbin/nologin
cd /usr/local
tar -xvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql
cd mysql
mkdir data conf
vim conf/my.cnf
-------------------------------------------
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
symbolic-links=0
log-error=/tmp/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
server-id=10
port=3388
gtid_mode=on
enforce_gtid_consistency=on
log_bin
binlog_format=row
-------------------------------------------
export PATH=$PATH:/usr/local/mysql/bin
mysqld --defaults-file=/usr/local/mysql/conf/my.cnf --initialize --user=mysql
mysqld_safe --defaults-file=/usr/local/mysql/conf/my.cnf --user=mysql &
# 从 MySQL5.7
useradd mysql /sbin/nologin
cd /usr/local
tar -xvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql
cd mysql
mkdir data conf
vim conf/my.cnf
-------------------------------------------
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
symbolic-links=0
log-error=/tmp/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
server-id=20
port=3388
gtid_mode=on
enforce_gtid_consistency=on
log_bin
binlog_format=row
-------------------------------------------
export PATH=$PATH:/usr/local/mysql/bin
mysqld --defaults-file=/usr/local/mysql/conf/my.cnf --initialize --user=mysql
mysqld_safe --defaults-file=/usr/local/mysql/conf/my.cnf --user=mysql &

主从节点更改 [email protected]‘localhost‘ 密码和创建复制账号

set sql_log_bin=0;
alter user [email protected]‘localhost‘ identified by ‘MySQL5.7‘;
create user [email protected]‘%‘ identified by ‘MySQL5.7‘;
grant all on *.* to [email protected]‘%‘;
flush privileges; 
set sql_log_bin=1;

在主节点生成测试数据

#!/bin/bash
sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.1.225 --mysql-port=3388 --mysql-user=root --mysql-password=MySQL5.7 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=1000000 --threads=10 --time=120 --report-interval=10 --db-driver=mysql prepare

将主节点的数据传到从节点

mysqldump -S /tmp/mysql.sock -u root -pMySQL5.7 --all-databases --triggers --routines --events --single-transaction --quick | mysql -h 192.168.1.226 -P 3388 -u root -pMySQL5.7

将从服务器指定到主服务器

change master to master_host=‘192.168.1.225‘,master_port=3388,master_user=‘root‘,master_password=‘MySQL5.7‘,master_auto_position=1;
start slave;
show slave statusG

以上是关于通过 mysqldump 搭建基于 gtid MySQL 5.7 主从复制的主要内容,如果未能解决你的问题,请参考以下文章

mysqldump 创建基于GTID的从库

基础 mysqldump 创建基于GTID的从库

基于gtid的备份_恢复_注意事项_mysqldump_skip-gtids_include-gtids_exclude-gtids

Centos7搭建基于GTID的MySQL主从复制架构

5.7 并行复制配置 基于GTID 搭建中从 基于GTID的备份与恢复,同步中断处理

基于GTID的主从复制搭建