477 1 分钟

# 基本环境

# 启动 3 台 redis
  • redis-1:172.17.0.2:6379
  • redis-2:172.17.0.3:6379
  • redis-3:172.17.0.4:6379
1.8k 2 分钟

# haproxy 作用

HAProxy 厉害的点,不需要写 mysql 的健康检测,软件本身可以检测出 mysql 服务停止,然后切换到正常的服务器上,而且当 mysql 服务器重启之后,HAProxy 不需要重启,也能识别并且切换上去。

# 基本环境

mycat1:172.18.12.5

mycat2:172.18.12.6

19k 18 分钟

# 基本环境

  • master1:172.18.12.1
  • master2:172.18.12.2
  • slave1:172.18.12.3
  • slave2:172.18.12.4
  • 架构双主双从
3.3k 3 分钟

# docker 给容器指定 ip

查看网络模式

1
docker network ls

创建新的 bridge 网络

1
docker network create --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1
4k 4 分钟

# 复制原理

  1. Master 将数据改变记录到二进制日志 (binary log) 中,也就是配置文件 log-bin 指定的文件,这些记录叫做二进制日志事件 (binary log events)
  2. Slave 通过 I/O 线程读取 Master 中的 binary log events 并写入到它的中继日志 (relay log)
  3. Slave 重做中继日志中的事件,把中继日志中的事件信息一条一条的在本地执行一次,完成数据在本地的存储,从而实现将改变反映到它自己的数据 (数据重放)
1.3k 1 分钟

# SQL 优化技巧

  • 使用 group by 分组查询是,默认分组后,还会排序,可能会降低速度,
    在 group by 后面增加 order by null 就可以防止排序.
1
explain select * from emp  group by deptno order by null;
6.8k 6 分钟

# 优化方面

  1. 表的设计合理化 (符合 3NF)
  2. 添加适当索引 (index) [四种:普通索引、主键索引、唯一索引 unique、全文索引]
  3. SQL 语句优化
  4. 分表技术 (水平分割、垂直分割)
  5. 读写 [写: update/delete/add] 分离
  6. 存储过程 [模块化编程,可以提高速度]
  7. 对 mysql 配置优化 [配置最大并发数 my.ini, 调整缓存大小]
  8. mysql 服务器硬件升级
  9. 定时的去清除不需要的数据,定时进行碎片整理 (MyISAM)
2.2k 2 分钟

# 存储过程

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的 SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升