问题分析:
mysql主从复制
介绍: ![](https://i-blog.csdnimg.cn/blog_migrate/b1f52b1a8c10199fa39781142e0b5499.png)
补充:从库可以有多个
提前准备好两台服务器,分别安装Mysql并启动服务成功
主库Master 192.168.138.100
从库Slave 192.168.138.101
Window系统则是在my.ini文件里直接配置
mysql -uroot -p密码登录Mysql数据库
这里我们要先创建用户,然后赋予权限:
create user 'abc'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'abc'@'%' ;
使用“GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;”命令可以更改远程连接的设置。
使用“flush privileges;”命令刷新刚才修改的权限,使其生效。
第三步的logfile 和 logpos对应的是我们刚才截图上的file 和position
读写分离案例
背景:![](https://i-blog.csdnimg.cn/blog_migrate/d33c2f5b7a91ff4e3726291e83f6d94c.png)
ShardingJDBC
入门案例
1.坐标在上面,已经导过了
2.
spring:
shardingsphere:
datasource:
names:
master,slave
# 主数据源
master:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.138.100:3306/rw?characterEncoding=utf-8
username: root
password: root
# 从数据源
slave:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.138.101:3306/rw?characterEncoding=utf-8
username: root
password: root
masterslave:
# 读写分离配置
load-balance-algorithm-type: round_robin
# 最终的数据源名称
name: dataSource
# 主库数据源名称
master-data-source-name: master
# 从库数据源名称列表,多个逗号分隔
slave-data-source-names: slave
props:
sql:
show: true #开启SQL显示,默认false
瑞吉外卖项目实现读写分离
数据库环境准备(主从复制)