MySQL8主从配置
Posted GrapefruitTea
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL8主从配置相关的知识,希望对你有一定的参考价值。
最近在看mysql的主从配置,罗列一下过程。
一、环境介绍
我使用的是两个MySQL8.0.13Windows版,Master和Slave安装的在一个机器上,Master库的端口为3306,Slave库的端口为3308。
二、简单原理
如下图,Master库会将数据更新写入二进制日志(log-bin)中。Slave库会有一个I/O线程读取二进制日志并写入自己的relay日志中。同时Slave库会有一个读取、处理SQL的线程,将relay日志中的SQL更新到Slave库中。
三、配置过程
1.首先需要安装两个MySQL数据库,个人在使用过程中,碰到一个坑。一天电脑上使用命令行连接的时候,一定要指定端口,如:mysql -u root -p -P3308。2
2.在所选择的Master数据库中配置(my.ini/my.cnf):
server_id = 1
#打开二进制日志
log-bin = master-bin
log-bin-index = master-bin.index
3.在master库中创建供slave库连接的用户,并授权。
//127.0.0.1是Slave设备的地址,123456是用户密码。
//如果主从数据库不在一个服务器上,假如配置成192.168.0.%,这里%表示通配符,代表192.168.0.0-192.168.0.255的Slave库都可以repl用户登录Master服务器。
create user \'repl\'@\'127.0.0.1\' identified by \'123456\' ;
//配置slave库的地址,slave库以用户repl访问时赋予的权限REPLICATION SLAVE
GRANT REPLICATION SLAVE ON *.* TO \'repl\'@\'127.0.0.1\';
4.在slave数据库中配置(my.cnf/my.ini):
server_id = 2
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
5.在slave库中配置连接的master库的地址、端口、口令、master日志文件等。
change master to master_host=\'127.0.0.1\',master_port=3306,master_user=\'repl\',master_password=\'123456\',master_log_file=\'master-bin.000001\',master_log_pos=0;
以上是关于MySQL8主从配置的主要内容,如果未能解决你的问题,请参考以下文章