读写分离的数据库相连接步骤

 数据库同步原理

首先要明确读写分离数据库能同步的原理:Mysql数据库自带的二进制日志功能,首先主库会将改变记录到二进制日志,然后从库将主库的binary lowg拷贝到中继日志(relay log)再解析,基于日志并应用到自身最终实现数据一致

读写分离的数据库相连接步骤_第1张图片

同步数据库的连接

首先是数据库的连接,我是在Linux上进行的,准备了两台服务器,并且数据库中的表数据都是一致的(一致很重要,避免读写出现错误)。可通过下面指令查看ip

ip addr

主库配置

 第一步:进入数据库配置文件/etc/my.cnf ,将以下代码复制上去

其中server-id 的数字是随便设定的,但一定要设定,最好是按顺序

读写分离的数据库相连接步骤_第2张图片

第二步:重启Mysql服务

systemctl restart mysqld

第三步:登陆数据库进行以下SQL

GRANT REPLICATION SLAVE ON *.* to 'xiaoming'@'%' identified by 'Root@123456';

注:上面SQL的作用是创建一个用户xiaoming,密码为Root@123456,并且给xiaoming用户授予REPLICATION SLAVE权限。常用于建立复制时所需要用到的用户权限,也就是slave必须被master授权具有该权限的用户,才能通过该用户复制。(Mysql8.0后要先创建才能授权)

第四步:登陆数据库,执行以下SQL

show master status;

 查看Master状态,其中Position是对应的位置,会随着每次操作而变化,因此执行完后就不要再操作

从库配置

第一步:配置server-id (不重复)

第二步:重启Mysql服务

systemctl restart mysqld

 第三步:登陆数据库,执行以下SQL

change master to master_host='192.168.138.100', master_user=' xiaoming', master_password=' Root@123456' , master_1og_file=' mysql-bin.000001', master_log_pos=439;

其中master_1og_file和master_log_pos要对应先前主库的信息

启动从库

start slave;

 第四步:登陆数据库执行以下SQL

show slave status; 

 将结果可以复制到NotePad++里方便查看,重点关注

Slave_IO_Running 和Slave_SQL_Running都显示为Yes

到此就配置成功

你可能感兴趣的:(Linux,数据库,数据库,mysql,服务器,linux,java)