mysql集群-主从同步(自用笔记)
主从同步原理:TODO
数据库准备:至少需要两台服务器,以后肯定是独立两台电脑,当然也可以使用虚拟机。本次采用安装多个服务(使用不同的端口)来代替服务器.
一、环境准备:
准备主库master:
1.解压mysql安装包。
2.修改my.ini文件:在[mysqld]下添加如下配置
[mysqld] #二进制日志文件,主从重点文件 log-bin=mysql-bin #服务ID随便取但是要唯一 server-id=1 #端口号 在单台机器上通过不同端口来模拟集群 port=3307 #日志文件 方便检查操作信息 log="E:/mysql_cluster/master/master.log" #Path to installation directory. All paths are usually resolved relative to this. #安装目录 basedir="E:/mysql_cluster/master/" #数据存放目录 datadir="E:/mysql_cluster/master/Data/"
3.将老的MySql的数据目录拷贝 datamysql 和 dataperformance_schema 到新的MySql的数据目录,这个是MySql的初始化数据。在my.ini中datadir就是数据目录位置,不然用navicat连不上。
4.安装master-修改my.ini文件的安装命令如下图,拷贝该命令在master的bin目录下进入cmd执行。
准备从库slave:
1.为了方便,直接拷贝master文件夹,改名为slave。
2.更改slave的my.ini文件:将master字符全部换成slave,更改端口,更改服务ID
[mysqld] #二进制日志文件,主从重点文件 log-bin=mysql-bin #服务ID server-id=2 #端口号 port=3308 #日志文件 log="E:/mysql_cluster/slave/slave.log" #安装目录 basedir="E:/mysql_cluster/slave/" #数据存放目录 datadir="E:/mysql_cluster/slave/Data/"
3.因为master已经拷贝了datamysql 和 dataperformance_schema 文件夹,此步骤不用再做。
4.安装master-修改my.ini文件的安装命令(同master的第4步骤),拷贝命令在slave的bin目录下进入cmd执行。
二.主从配置:
master:连接matser执行以下命令:
- 授权savle服务器的使用的账号及权限
GRANT REPLICATION SLAVE ON *.* to slaveuser@192.168.192.1identified by 123456;
参数说明:
- slaveuser:slave连接master使用的账号
- IDENTIFIED BY 123456 :slave连接master使用的密码
- 192.168.192.1:slave IP
2.查询主数据库状态
show master status;
从库slave配置:
slave:连接slave执行以下命令:
1.在slave端,配置master连接信息
CHANGE MASTER TO master_host = 192.168.192.1,#master IP master_user = slaveuser,#master数据库通过GRANT授权的账号 master_password = 123456,#master数据库通过GRANT授权的密码 master_port = 3307,#master数据库的端口 master_log_file = mysql-bin.000001,#master数据库中通过show master status显示的File名称 master_log_pos = 1232 #master数据库的通过show master status显示的Position的值
2.启动同步
start slave;
3.主从同步检查
show slave status;
当Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
完成主从,此时只能在master上写数据,slave上读数据。若违反约束,则需要重新配置。
下一篇:
MySQL数据库之——初识MySQL