• MySQL数据库(三)日志、主从复制、分库分表、读写分离



    layout: post
    title: MySQL数据库(三)日志、主从复制、分库分表、读写分离
    description: MySQL数据库(三)日志、主从复制、分库分表、读写分离
    tag: 数据库


    日志

    错误日志

    错误日志默认存放目录为 /var/log/,默认的日志文件名为mysql.log。
    查看日志位置的指令为:
    show variables like '%log_error%'
    错误日志对于错误的记录和分析更加详细!
    在这里插入图片描述

    二进制日志

    二进制日志记录了所有的DDL和DML语句,即记录了所有数据库表和数据库数据的变更。
    show variables like '%log_bin%'
    在这里插入图片描述

    在这里插入图片描述

    二进制无法直接读取,因此需要通过二进制查询工具mysqlbinlog来查看
    在这里插入图片描述
    二进制日志清理与删除:
    在这里插入图片描述

    查询日志

    查询是使用频繁的操作,默认是关闭的!
    在这里插入图片描述

    慢查询日志

    在这里插入图片描述

    主从赋值

    主从复制是将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库数据保持同步。
    MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他服务器的主库实现链装复制。
    这样做的好处主要体现在以下三个方面:

    1. 主库出现问题,可以快速切换到从库提供服务
    2. 实现读写分离,降低主库访问压力。
    3. 可以在从库执行备份,避免备份期间影响主库服务。

    在这里插入图片描述

    原理

    在这里插入图片描述

    搭建

    1、准备两台安装好mysql且能远程访问的服务器。
    在这里插入图片描述

    2、主库配置步骤:
    a、修改配置文件
    b、重启MySQL服务器
    c、登录mysql,创建远程连接账号,赋予主从赋值权限。
    d、通过指令查看二进制日志文件
    在这里插入图片描述
    在这里插入图片描述
    3、从库配置步骤:
    a、修改配置文件 /etc/my.cnf,设置从库只读,集群id
    b、重启MySQL服务。
    c、登录mysql,设置主库配置
    d、开启同步操作
    e、查看主从同步状态

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    分库分表

    分库分表的核心思想是将数据分散存储,使得单一数据库/表的数据量变小来缓解单一数据库性能问题,从而提升数据库整体性能。

    在这里插入图片描述

    拆分策略

    在这里插入图片描述
    垂直拆分:
    在这里插入图片描述
    水平拆分:
    在这里插入图片描述

    Mycat中间件

    在这里插入图片描述

    读写分离

    在这里插入图片描述

  • 相关阅读:
    Unity注解使用方法快速上手
    LeetCode中等题之前K个高频单词
    WebScoket
    Leetcode -1
    java172-使用class实现反射编程,创建对象
    numpy矩阵补全函数 np.pad()
    飞凌A40i全国产化核心板,照亮电力设备国产化之路
    python_视频中语音识别转出文本
    Day41 JMeter实战
    Google身份验证器Google Authenticator的java服务端实现
  • 原文地址:https://blog.csdn.net/baiduwaimai/article/details/127765153