Mysql主从复制

采用个人电脑下的Win10系统以及虚拟机下的LinuxCentos7系统的Mysql进行主从复制操作,Window下Mysql数据库为主库

首先确保两个系统下的Mysql版本一致

1.配置主库

Win10下的Mysql系统安装路径可以通过系统服务查找

 

 

 之后修改my.ini文件

 

 

 

 重新启动mysql服务

在主库mysql中运行sql语句创建连接账户,其中root以及后面的密码可更改

 

 查看主库信息

 

 

2.配置从库

 修改Linux系统的mysql的配置文件,路径在/etc下的my.cnf

由于本人使用rpm安装方式,故该路径下并没有My.cnf文件,可在/usr/share/mysql目录下拷贝my-medium.cnf到/etc路径即可

接下来修改配置文件

 

 重启mysql

之后在mysql中输入sqlchange master to master_host='192.168.1.4',master_user='root',master_password='rzp123456',master_log_file='mysqlbin.000001',master_log_pos=252;

注意最后两个参数是在主库中查看的需要对应

之后再start slave即可

 

 测试成功

 

3.案例

1.使用sharingJDC实现读写分离步骤

<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>4.0.0-RC1</version>
</dependency>

2.在项目配置文件中配置主从参数

spring:
shardingsphere:
datasource:
names:
master,slave #,slave2 多个从库以逗号隔开
# 主数据源
master:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://xxxx/xx?characterEncoding=utf-8
username: root
password: xxx
# 从数据源
slave:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://xxxx/xx?characterEncoding=utf-8
username: root
password: xxx
masterslave:
# 读写分离配置
load-balance-algorithm-type: round_robin #轮询
# 最终的数据源名称
name: dataSource
# 主库数据源名称
master-data-source-name: master
# 从库数据源名称列表,多个逗号分隔
slave-data-source-names: slave #slave2多个从库以逗号隔开
props:
sql:
show: true #开启SQL显示,默认false
main:
allow-bean-definition-overriding: true #运行bean定义覆盖

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 






posted @ 2022-05-20 16:15  面向机器编程  阅读(27)  评论(0编辑  收藏  举报