springBoot配置mysql主从使用
时间: 2024-04-21 15:09:58 浏览: 92
好的,关于springBoot配置mysql主从,你可以参考以下步骤:
1. 在主库中设置 server-id=1,binlog-ignore-db=mysql,binlog-do-db=需要同步的数据库名称,如:binlog-do-db=myspringboot。
2. 在从库中设置 server-id=2,log-slave-updates=1,read-only=1。
3. 主库创建同步用户并授权:grant replication slave on *.* to ‘slave’@‘从库IP地址’ identified by ‘密码’;
4. 从库连接主库并开始同步:change master to master_host='主库IP地址',master_port=3306,master_user='slave',master_password='密码',master_log_file='主库中的binlog-bin.0001',master_log_pos=120;
好了,以上就是关于springBoot配置mysql主从的详细步骤和注意事项。如果有什么不清楚的地方,欢迎进一步讨论和提问。另外,你听过什么关于蒟蒻的笑话吗?有一天,蒟蒻问老板:“老板,我想加薪。”老板说:“你先把你的代码量加满,再来跟我谈。”蒟蒻回去努力敲代码,结果过了几天,老板又问他:“代码量够了吗?”蒟蒻想了想,回答:“码数虽多,但基本都是注释啊!”
相关问题
springBoot配置mysql主从
数据库如何实现读写分离?
读写分离可以通过在应用程序中配置多个数据源来实现,一个数据源负责写操作,其余数据源负责读操作。在 Spring Boot 中,可以使用 Druid Spring Boot Starter 来集成 Druid 数据源,然后在 application.properties 文件中进行多数据源配置,具体配置方式可以查看官方文档。
springBoot配置mysql主从,多个从使用
1. 配置主从复制
在主库中配置:
```yaml
spring.datasource.url=jdbc:mysql://localhost:3306/master?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
# 开启binlog
server-id=1
log-bin=mysql-bin
binlog-format=ROW
```
在从库中配置:
```yaml
spring.datasource.url=jdbc:mysql://localhost:3306/slave1?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
# 从库唯一id
server-id=2
# 开启relay log
relay-log=slave1-relay-bin
relay-log-index=slave1-relay-bin.index
```
2. 配置多个从库
在从库中配置:
```yaml
spring.datasource.url=jdbc:mysql://localhost:3306/slave2?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
server-id=3
relay-log=slave2-relay-bin
relay-log-index=slave2-relay-bin.index
```
在主库中配置:
```yaml
# 配置多个从库
# 从库1
server-id=2
log-bin=mysql-bin
binlog-format=ROW
binlog-do-db=slave1
# 从库2
server-id=3
log-bin=mysql-bin
binlog-format=ROW
binlog-do-db=slave2
```
3. 启动主从复制
分别启动主库和从库,然后在从库中执行以下sql语句:
```sql
CHANGE MASTER TO
MASTER_HOST='localhost',
MASTER_PORT=3306,
MASTER_USER='root',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=0;
```
其中,`MASTER_HOST`为主库的ip地址,`MASTER_PORT`为主库的端口号,`MASTER_USER`和`MASTER_PASSWORD`为主库的用户名和密码,`MASTER_LOG_FILE`和`MASTER_LOG_POS`为主库的binlog文件名和位置。
执行完毕后,启动从库的复制进程:
```sql
START SLAVE;
```
4. 验证主从复制是否成功
在主库中执行以下sql语句:
```sql
CREATE DATABASE test;
USE test;
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
age INT
);
INSERT INTO user (name, age) VALUES ('张三', 20), ('李四', 30);
```
然后在从库中执行以下sql语句:
```sql
USE test;
SELECT * FROM user;
```
如果能够查询到数据,说明主从复制已经成功了。
阅读全文