gtid实现MySQL高可用_mysql生产环境高可用---基于GTID异步复制项目实施

客户需求:

客户需要上线一个门户网站,初期业务量非常小,数据量10个G,后台需要使用msyql 数据库,需要建设一个数据库环境

项目技术:

操作系统:两台linux系统 红帽6.5

数据库版本:msyql 5.7.22

数据库架构:主从复制,主库用于生产,从库用于数据容灾和主库备机,采用GTID+mysqlreplicate+异步复制技术。

主库ip: 192.168.1.51 3306

从库ip ; 192.168.1.52 3306

工具:

mysql-utilities-1.6.5.tar.gz

cd /soft

tar zxvf mysql-utilities-1.6.5.tar.gz

cd mysql-utilities-1.6.5.

python setup.py build

python setup.py install

编译–安装

查看是否按照成功

mysqlreplicate --help

主库上操作:

1.创建复制用户 【主库和从库都要创建】

mysql -uroot -proot

create user ‘repuser’@’%’ identified by ‘repuser123’;

grant replication slave on . to ‘repuser’@’%’;

flush privileges;

select user,host from mysql.user;

exit;

vi /mysql/data/3306/my.cnf

#master add parameter

log_bin=/mysql/log/3306/binlog/itpuxdb-binlog

log_bin_index=/mysql/log/3306/binlog/itpuxdb-binlog.index

binlog_format=row

binlog_rows_query_log_events=on

#master modify parameter

bind-address=0.0.0.0

server_id=513306

skip_name_resolve = on

expire_logs_days = 7

innodb_support_xa =1

binlog_cache_size = 1M

max_binlog_size = 2048M

log_bin_trust_function_creators = 1

innodb_flush_log_at_trx_commit =1

sync_binlog = 1

transaction-isolation = read-committed

gtid_mode = on

enforce_gtid_consistency = 1

log-slave-updates = 1

binlog_gtid_simple_recovery=1

2.从库上操作

vi /mysql/data/3306/my.cnf

#slave add parameter

log_bin=/mysql/log/3306/binlog/itpuxdb-binlog

log_bin_index=/mysql/log/3306/binlog/itpuxdb-binlog.index

binlog_format=row

binlog_rows_query_log_events=on

#slave modify parameter

bind-address=0.0.0.0

server_id=523306

skip_name_resolve = on

expire_logs_days = 7

innodb_support_xa =1

binlog_cache_size = 1M

max_binlog_size = 2048M

log_bin_trust_function_creators = 1

innodb_flush_log_at_trx_commit =1

sync_binlog = 1

transaction-isolation = read-committed

gtid_mode = on

enforce_gtid_consistency = 1

log-slave-updates = 1

binlog_gtid_simple_recovery=1

#slave parameter

relay_log = /mysql/log/3306/relaylog/itpuxdb-relay.log

read_only=1

slave-parallel-type=LOGICAL_CLOCK

slave-parallel-workers=4

master_info_repository=table

relay_log_info_repository=table

relay_log_recovery=1

slave_skip_errors = ddl_exist_errors

slave_preserve_commit_order=1

3.配置了以上操作之后,重启两台mysql

4.在主库上查看binlog

mysql -uroot -proot

show master status;

5.在从库上使slave 与 master 建立连接,从而同步。

主库上操作:

mysqlreplicate --master=root:root@192.168.1.51:3306 --slave=root:root@192.168.1.52:3306 --rpl-user=repuser:repuser123 -b

检查

mysqlreplicate --master=root:root@192.168.1.51:3306 --slave=root:root@192.168.1.52:3306 --rpl-user=repuser:repuser123 --test-db=testdb

检查从库

mysqlrplcheck --master=root:root@192.168.1.51:3306 --slave=root:root@192.168.1.52:3306 -s

验证数据是否一致

mysqlrplsync --master=root:root@192.168.1.51:3306 --slave=root:root@192.168.1.52:3306

6.主从验证

在主库创建数据库 数据表 插入数据 创建用户

在从库用 主库创建的用户登录,并查看数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值