分布式数据库主从配置(MySQL)
**注意:默认已经安装了mysql,安装教程详见我的另一篇博客[springboot项目部署到阿里云服务器(centos7)](springboot项目部署到阿里云服务器(centos7) - 掘金 (juejin.cn))
我的主数据库和从数据库分别放在一个云服务器上,如果只有一个云服务器大家可以再电脑本机安装一个MySQL,需要注意的是 Windows系统下需要修改的配置文件为my.in
1.主数据库配置
-
修改my.cnf文件
vim /etc/my.cnf-
添加如下内容
server-id=1 #服务器ID,任意一个整数 log-bin=mysql-bin #开启日志记录 binlog-do-db=db_test #只同步配置到这个数据库,如果复制多个数据库,重复设置这个选项即可 -
如图所示
-
-
重启MySQL
systemctl restart mysqld -
登录MySQL,测试配置是否成功
-
登录MySQL
mysql -uroot -p -
创建对应的数据库(与配置文件中的保持一致:bindlog-do-db=db_test)
create database db_test -
检查主库状态,如下图所示,则配置成功
show master status
-
2.从数据库配置
-
修改my.cnf文件
vim /etc/my.cnf -
添加如下内容
server-id=2 #服务器ID,任意一个整数,和主库不同即可 -
如图所示
-
重启MySQL
systemctl restart mysqld -
登录MySQL,测试配置是否成功
-
登录MySQL
mysql -uroot -p -
创建对应的数据库(与主数据库配置文件中的保持一致:bindlog-do-db=db_test)
create database db_test -
依次执行如下命令
stop slave注意:具体内容需要自己填
change master to master_host='主数据库服务器IP', master_user='主数据库用户名', master_password='主数据库密码', master_log_file='mysql-bin.000005', #与图2 File值保持一致 master_log_pos=322; #与图2 Position值保持一致start slaveshow slave status- 如果出现两个Yes则配置成功(如下图所示)
-
-
检测结果
在主数据库的db_test数据库任意创建一个数据库表,再添加几条测试数据,会发现从数据库会自动创建相应的数据库表和数据