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定义覆盖
本文来自博客园,作者:面向机器编程,转载请注明原文链接:https://www.cnblogs.com/face-to-machine-program/articles/16292697.html