目录
1)windows下mysql主、windows下mysql从
都和《windows下mysql主、linux下mysql从》类似的配置
一、概念
1)读写分离
一台服务器的数据库B负责读,另一台服务器的数据库A负责写(增删改),是分开的
2)主从复制
1.定义
主服务器数据库A负责写,从服务器数据库B负责读。主服务器数据库B的数据变化会实时同步到从服务器数据库B,从服务器数据库B始终和主服务器数据库A的数据保持一致
2.实现原理
A有一个日志功能,把自己所做的增删改(Insert、Delete、Update)的动作,全都记录在日志中,B只需要拿到这份日志,照着日志上面的动作施加到自己身上就可以了
3.主从复制的意义
避免单点故障。主从集群中任意一台服务器硬盘坏了,其他服务器上还有一模一样的数据,不影响
4.特点
A是master,B是slave
每个slave只能有一个master。(一对一)
每个master可以有多个slave。(一对多)
5.缺点
只能master到slave,单向同步
二、windows下mysql主、linux下mysql从
1)主服务器master配置
1.修改my.ini
windows版的mysql配置文件是my.ini,位于安装目录。
在my.ini的[mysqld]后添加:
server-id=1 #指定当前服务器唯一标识id(可以随便起,只要不重复就行)
log-bin=mysql-bin #二进制日志文件存放路径#binlog-do-db=test #待同步的数据库,不设置默认同步所有
# 不同步的数据库
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
read-only=0 #读和写都可以
2.重启mysql服务
在windows服务中,右键重启mysql服务
3.创建slave同步master的账号
在主服务器上为从服务器分配一个账号,就像一把钥匙,从服务器拿着这个钥匙,才能到主服务器上来共享主服务器的日志文件。
mysql> GRANT replication slave ON *.* TO 'slave'@'%' identified by '1234';
4.查询master配置状态
mysql> show master status;
2)从服务器slave配置
1.修改my.cnf
linux版的mysql配置文件是my.cnf,位于 /etc/my.cnf 或 /e