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


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


MySQL数据库(运维)

  • 日志
    • 错误日志
    • 二进制日志
    • 查询日志
    • 慢查询日志
  • 主从赋值
    • 原理
    • 搭建
  • 分库分表
    • 拆分策略
    • Mycat中间件
    • 读写分离

日志

错误日志

错误日志默认存放目录为 /var/log/,默认的日志文件名为mysql.log。
查看日志位置的指令为:
show variables like '%log_error%'
错误日志对于错误的记录和分析更加详细!
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第1张图片

二进制日志

二进制日志记录了所有的DDL和DML语句,即记录了所有数据库表和数据库数据的变更。
show variables like '%log_bin%'
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第2张图片

MySQL数据库(三)日志、主从复制、分库分表、读写分离_第3张图片

二进制无法直接读取,因此需要通过二进制查询工具mysqlbinlog来查看
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第4张图片
二进制日志清理与删除:
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第5张图片

查询日志

查询是使用频繁的操作,默认是关闭的!
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第6张图片

慢查询日志

MySQL数据库(三)日志、主从复制、分库分表、读写分离_第7张图片

主从赋值

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

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

MySQL数据库(三)日志、主从复制、分库分表、读写分离_第8张图片

原理

MySQL数据库(三)日志、主从复制、分库分表、读写分离_第9张图片

搭建

1、准备两台安装好mysql且能远程访问的服务器。
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第10张图片

2、主库配置步骤:
a、修改配置文件
b、重启MySQL服务器
c、登录mysql,创建远程连接账号,赋予主从赋值权限。
d、通过指令查看二进制日志文件
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第11张图片
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第12张图片
3、从库配置步骤:
a、修改配置文件 /etc/my.cnf,设置从库只读,集群id
b、重启MySQL服务。
c、登录mysql,设置主库配置
d、开启同步操作
e、查看主从同步状态

MySQL数据库(三)日志、主从复制、分库分表、读写分离_第13张图片

MySQL数据库(三)日志、主从复制、分库分表、读写分离_第14张图片
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第15张图片

分库分表

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

MySQL数据库(三)日志、主从复制、分库分表、读写分离_第16张图片

拆分策略

MySQL数据库(三)日志、主从复制、分库分表、读写分离_第17张图片
垂直拆分:
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第18张图片
水平拆分:
MySQL数据库(三)日志、主从复制、分库分表、读写分离_第19张图片

Mycat中间件

MySQL数据库(三)日志、主从复制、分库分表、读写分离_第20张图片

读写分离

MySQL数据库(三)日志、主从复制、分库分表、读写分离_第21张图片

你可能感兴趣的:(笔记,数据库,数据库,mysql,服务器)