zoukankan      html  css  js  c++  java
  • MySql读写分离实现

    技术原理

    为什么?

      进行中的项目,有大量的第三方数据频繁的写入,影响了读的效率。通过读写分离,可以实现读锁和写锁的竞争。读锁和写锁可以具体网上找其他资源了解。

    怎么做?

      1. 主从复制:主数据库有写操作,从数据库自动同步。从数据库通过I/O线程去请求主数据库的binlog日志文件(二进制日志,包含SQL的增删改查等,用来做备份恢复等),并写到中继日志中,SQL线程会读取中继日志,并解析成具体操作同步数据到从数据库。

      2. 读写分离:数据库层面:主数据库复制写,从数据库复制读。软件(代码)层面:通过读写分离中间间,比如MyCat、shardingsphere等实现。

    具体实现

    数据库层面

      1. 需要打开主库的二进制日志功能,通过配置文件修改。

    (1)服务器ID命名

     (2)日志功能开启

     修改完后,重启sql服务,通过命令查看日志状态

     (3)创建一个用户,并赋予replication slave权限。

       2. 从库设置

    (1)服务命名

     (2)配置相关参数,重启服务

     (3)连接主机,执行同步命令

     代码程序层面

      这里使用shardingsphere实现读写分离。

    (1)相关jar引用

     (2)读写分离配置

  • 相关阅读:
    yocto/bitbake 学习资源
    QEMU/KVM学习资源
    ubuntu 中创建和删除用户
    git 重命名本地和远程分支
    Ubuntu 上搭建 FTP 服务器
    gdb 常见用法
    git log 显示与特定文件相关的 commit 信息
    基于 qemu system mode 运行 arm 程序
    基于 qemu user mode 运行 aarch64 程序
    checking in(airport)
  • 原文地址:https://www.cnblogs.com/knsbyoo/p/11532415.html
Copyright © 2011-2022 走看看