一、主从复制
1、准备两个mysql并配置
主mysql的my.ini文件[mysqld]下配置:
log-bin=“mysql-bin” #二进制文件名称
server-id=114 #一般为主服务器ip最后三位
binlog_format=ROW
binlog-do-db=master #需要与从库数据同步的数据库,建议不要与从库全部数据库同步
如图:
从库在相同位置下配置
log-bin=mysql-bin
binlog_format=ROW
server_id=2 #一般为从服务器ip最后三位(不可与主库server_id相同)
replicate_wild_do_table=master.% #需要与主库数据同步的数据库,建议不要与从库全部数据库同步
2、数据库操作
- 主从库执行
show variables like 'server_id'
并查看server_id是否相等,相等则配置未生效重新第一步。 - 从库执行以下命令:
CHANGE MASTER TO MASTER_HOST='主库ip地址',MASTER_USER='主库账号(建议root账号就不用配置权限)',MASTER_PASSWORD='主库密码',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=156;
执行结束后执行show slave status
命令查看是否开启主从复制
状态是否为yes
是:开启主从复制成功
否:执行以下命令并在执行结束后重启服务
stop slave;
set global sql_slave_skip_counter=1;
start slave;
然后执行show slave status
再次查看状态
二、读写分离(使用springframework-jdbc)
首先在pom.xml中引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
然后在application.properties配置