版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26437925/article/details/83213961
主要分两部分讲解
- 如何配置MySql主从
- 项目搭建和测试截图,源代码见:https://github.com/doctording/springboot-mybatis-master-slave
MySQL 主从配置
这部分主要参考:
https://www.cnblogs.com/ruofengzhishang/p/5477502.html
https://blog.csdn.net/lc0817/article/details/51163268
实践环境
- 两台ubuntu虚拟机 都是如下配置
mubi@v1:/etc/mysql$ uname -a
Linux v1 4.4.0-124-generic #148-Ubuntu SMP Wed May 2 13:00:18 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
mubi@v1:/etc/mysql$ mysql --version
mysql Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using EditLine wrapper
mubi@v1:/etc/mysql$
虚拟机hostname | ip | mysql 端口 | 用户名 | 密码 | 主从 |
---|---|---|---|---|---|
v1 | 172.16.227.243 | 3306 | root | 123456 | 主 |
v2 | 172.16.227.129 | 3306 | root | 123456 | 从 |
- 让其它机器可以远程访问
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改配置(注意不同的linux/mac系统配置文件路径可能不一样)
注释调如下都
#bind-address = 127.0.0.1
两台机器分别添加如下两句话
#v1
[mysqld]
log-bin=mysql-bin
server-id=1
#v2
[mysqld]
log-bin=mysql-bin
server-id=2
然后service mysql restart
重启
- 配置主从
master
slave
进入v2的mysql执行如下语句,注意是与上方对应的
change master to master_host='172.16.227.243', master_user='root', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=599;
之后在 v1 新建数据库,数据表都能同步到v2
create table test;
CREATE TABLE `t_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`email` varchar(30) DEFAULT NULL,
`password` varchar(32) DEFAULT NULL,
`status` tinyint(1) DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
SpringBoot MyBatis 主从项目配置
- idea
- gradle
- jdk 1.8
写操作
读操作和slave数据库数据查看