Mysql读写分离搭建(一)基础构建

1. 基础准备

(1)安装两台机器 一台机器做为master 一台机器作为slave
(2)安装的mysql版本尽量保持一致,本文推荐mysql8.0,保证能够互访。如果是虚拟器,请设置为桥连模式。
(3)安装步骤推荐大家阅读

https://blog.csdn.net/qq_37350706/article/details/81707862

2. 基础命令

#启动mysql服务
net start mysql
#停止mysql服务
net stop mysql
#修改mysql用户密码
mysqladmin -uroot -p password
#windows 下如何登陆mysql
(1)win+R 输入cmd 进入控制台
在这里插入图片描述
(2)输入 mysql -u root -p 输入密码,完成登录。后续章节的命令都需要登录mysql后才能执行。
在这里插入图片描述

3. 配置

3.1 服务端配置

(1)修改配置文件
在这里插入图片描述

[mysqld]
#以下为主从读写配置 
server-id=1
#备份数据库  如果是多个数据库 就配置第二行 如test、test1
binlog-do-db=test
#binlog-do-db=test1
#可以忽略的数据库  这里如果不填写 应该就不执行了 
#binlog-ignore-do-db=test2
#备份方式
log-bin=mysql-bin

(2)新增用户

create user 'repl'@'%' identified by 'repl';
grant replication slave on *.* to 'repl'@'%' ;
#给用户授予相应的数据库操作权限  测试的数据库是test
grant all privileges on test.* to 'repl'@'%';
flush privileges;

(3)验证配置效果

show variables like 'server_id';

在这里插入图片描述
(4)采集主机数据

show master status\G

在这里插入图片描述

File参数:指定了需要同步的日志文件名称。
Position参数:此节点需要注意,它的意思是数据日志已经写到此位置,那么我们复制数据也是从这里复制。

3.2 客户端配置

在这里插入图片描述

[mysqld]
#以下为主从读写配置 
server-id=2
#备份数据库  如果是多个数据库 就配置第二行 如test、test1
binlog-do-db=test
log-bin=mysql-bin

4. 开始同步

4.1 基础数据同步

在同步之前需要将主库数据同步到从库,保持两库同步之前数据保持一致,同步方式可以用主库导出脚本,从库导入的模式。

4.2 采集服务端信息

在服务端执行命令

show master status\G

关注File和Position两个节点。

4.3 客户端执行同步

#暂停客户端服务
stop slave;

配置参数中
MASTER_HOST= 服务器IP
MASTER_USER=服务端用户
MASTER_PASSWORD=服务端密码
MASTER_PORT=服务端端口
MASTER_LOG_FILE=服务端同步文件(对应4.2命令采集到的File参数)
MASTER_LOG_POS=服务端同步文件(对应4.2命令采集到的Position参数)

#配置同步参数
CHANGE MASTER TO MASTER_HOST= '169.254.210.192', MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000003',MASTER_CONNECT_RETRY=30,MASTER_LOG_POS=1023;
#启动客户端服务
start slave;
#显示同步结果
show slave status\G

如果 此两项为 yes 则基本能够满足同步的需求
Slave_IO_Runing:YES
Slave_SQL_Runing:YES在这里插入图片描述
执行到这里,就可以进行两个数据库间的同步了。

发布了17 篇原创文章 · 获赞 0 · 访问量 467

猜你喜欢

转载自blog.csdn.net/weixin_36008116/article/details/104812244