windows下实现mysql5.6读写分离、主从复制和一主多从

mysql压缩包移步下载:mysql5.6

mysql5.6--主从数据库的安装

第一步:复制mysql到自定义目录中,我现在放的是 E:\cool\mysql,数据库叫3380

第二步: 删除3380\logs目录下的所有日志文件

第三步骤: 删除3380\datas所有的log文件(注意不是所有文件哦!)

第四步:打开 my.ini 文件,做如下修改

1、

2、

3、

4、

5、

第五步:安装并启动刚刚安装的mysql

首先检查有没有该数据库,如果有则打开cmd窗口,执行以下命令进行删除,用命令删除系统服务

sc delete MySQL-3380

接下来安装到系统服务中,启动

安装

执行以下命令进行安装

.\mysqld.exe install MySQL-3380 --defaults-file="E:\cool\mysql\3380\data\my.ini"

去服务中刷新并且进行启动

用navicat进行连接测试

接下来进行第二个数据库的配置、安装、启动

将3380数据库复制一份,改为3381,与3380在同一目录下,方便管理,然后执行上述步骤,

修改my.ini将所有3380改为3381

以上步骤结束后,主从数据库安装成功,从数据库有多个就配置多个,步骤相同

接下来实现主从复制

mysql主(称master)从(称slave)复制的原理:

  1. master将数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events)
  2. slave将master的binary log events拷贝到它的中继日志(relay log)
  3. slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)

1.1.  主从配置需要注意的地方

  1. 主DB server和从DB server数据库的版本一致
  2. 主DB server和从DB server数据库数据一致[ 这里就会可以把主的备份在从上还原,也可以直接将主的数据目录拷贝到从的相应数据目录]
  3. DB server开启二进制日志,主DB server和从DB server的server_id都必须唯一

1.2.  主库配置从库的用户

为了能够正常使用,这时候可以将3380和3381两个数据库重启一下

接着在navicat中3380中创建一个连接主数据库的用户名和密码

grant replication slave on *.* to 'slave01'@'127.0.0.1' identified by '123456';

flush privileges;

以上语句的意思是将复制权限授权给root 123456这个用户

SHOW MASTER STATUS

自此主库的配置完全结束

1.3.  从库的配置

#指定serverid,只要不重复即可,从库也只有这一个配置,其他都在SQL语句中操作

在navicat中执行,执行以下语句并且语句跟主数据库授权的用户要匹配上,还有状态信息要一致

CHANGE MASTER TO

 master_host='127.0.0.1',

 master_user='slave01',

 master_password='123456',

 master_port=3380,

 master_log_file='mysql-bin.000002',

 master_log_pos=420;

#启动slave同步

START SLAVE;

 

#查看同步状态

SHOW SLAVE STATUS;

说明配置有问题,如何修改,去error-log中进行修改

2018-01-26 10:14:12 6216 [ERROR] Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593

2018-01-26 10:14:12 6216 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000002', position 420

所以要搜索如何修改mysql的UUID

修改这个auto.cnf中的UUID即可,然后重启slave数据库

出现这个标志说名主从配置成功了

测试只要找一条记录修改即可

同步由mysql底层实现同步

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MySQL读写分离主从复制是一种常见的数据库架构模式,用于提高数据库系统的性能和可用性。在主从复制中,有一个主数据库(Master)负责处理写操作,而一个或多个从数据库(Slave)负责处理读操作。 主从复制的工作原理如下: 1. 主数据库接收到写操作(如插入、更新、删除)时,将操作记录到二进制日志(Binary Log)中。 2. 从数据库连接到主数据库,获取二进制日志,并将这些日志应用到自己的数据库中,以使从数据库的数据与主数据库保持一致。 3. 当有读操作请求时,从数据库直接查询自己的数据,不需要访问主数据库,从而分担了主数据库的读负载。 读写分离的优势在于: 1. 提高了系统的读写性能:读操作由从数据库处理,可以分散读负载,提高系统的并发能力和响应速度。 2. 增加了系统的可用性:即使主数据库发生故障,从数据库仍然可以继续提供读服务,减少了系统的停机时间。 3. 改善了数据安全性:从数据库可以用于备份和故障恢复,保护数据免受意外删除或损坏。 要配置MySQL读写分离主从复制,需要进行以下步骤: 1. 在主数据库上开启二进制日志功能,并配置唯一的server-id。 2. 在从数据库上配置主数据库的连接信息,并使用CHANGE MASTER TO语句设置从数据库复制主数据库的位置。 3. 启动从数据库的复制进程,使其开始复制主数据库的数据。 4. 在应用程序中,根据需要将读操作发送到从数据库,写操作发送到主数据库。 需要注意的是,主从复制是异步的,因此在进行读操作时,可能会存在稍许的延迟,数据在主从数据库之间的同步并不是实时的。此外,主数据库出现故障时,需要手动切换应用程序的写操作到另一个可用的主数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dkjhl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值