MYSQL: Difference between revisions
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
这里所提的MySQL是 Oracle MySQL 和 MariaDB 的统称. | 这里所提的MySQL是 Oracle MySQL 和 MariaDB 的统称. | ||
=== Replication and HA design === | ===Replication and HA design=== | ||
通常需要考虑的准则 | 通常需要考虑的准则 | ||
* High Availability : 增加冗余, 在单台机器意外故障或出于维护目的下线的情况下保证服务可用 | *High Availability : 增加冗余, 在单台机器意外故障或出于维护目的下线的情况下保证服务可用 | ||
* Performance: 增加机器数量以提供更强大的服务能力 | *Performance: 增加机器数量以提供更强大的服务能力 | ||
* Segmentation: 隔离工作负载 避免某些繁重任务影响网站性能 | *Segmentation: 隔离工作负载 避免某些繁重任务影响网站性能 | ||
常见的几种 MySQL replication 类型有 <u>'''Master-Slave'''</u> '''<u>Master-Master</u>''' 和 '''<u>Synchronous Cluster</u>''' | 常见的几种 MySQL replication 类型有 <u>'''Master-Slave'''</u> '''<u>Master-Master</u>''' 和 '''<u>Synchronous Cluster</u>''' | ||
Line 20: | Line 20: | ||
===Performance Tunning=== | ===Performance Tunning=== | ||
[https://github.com/major/MySQLTuner-perl MySQLTuner] | [https://github.com/major/MySQLTuner-perl MySQLTuner] | ||
[[Category:MYSQL]] |
Latest revision as of 07:55, 28 June 2020
介绍
MySQL 是一种关系型数据库管理系统 (RDBMS, relational database management system). 随着时间推移, 目前MySQL属于Oracle. 创始人从开源MySQL fork并创建了一个新的项目 MariaDB. MariaDB目前由社区维护.
这里所提的MySQL是 Oracle MySQL 和 MariaDB 的统称.
Replication and HA design
通常需要考虑的准则
- High Availability : 增加冗余, 在单台机器意外故障或出于维护目的下线的情况下保证服务可用
- Performance: 增加机器数量以提供更强大的服务能力
- Segmentation: 隔离工作负载 避免某些繁重任务影响网站性能
常见的几种 MySQL replication 类型有 Master-Slave Master-Master 和 Synchronous Cluster
生产环境应避免Master-Master模式,这种模式看似解决了Master-Slave模式下的一些问题,但是也带来更严重的问题。在replication中断或其中一台服务器故障的情况下可能带来 数据冲突、数据丢失、重复数据 等问题。
Cluster
开源MySQL Cluster推荐使用 Galera Cluster或者 Percona.