MySQL高级技术

MySQL高级技术,各种优化,提高,技巧等。

MySQL 服务器内存使用

Every so often people ask me the question how should they estimate memory consumption by MySQL Server in given configuration. What is the formula they could use.

经常有人问我配置MySQL时该如何估算内存的消耗。那么该使用什么公式来计算呢?

Innodb模糊检查点的痛苦

Innodb Fuzzy checkpointing woes
Innodb模糊检查点的痛苦

As you might know Innodb storage engines uses Fuzzy Checkpointing technique as part of it recovery strategy. It is very nice approach which means database never needs to “stall” to perform total modified pages flush but instead flushing of dirty pages happens gradually in small chunks so database load is very even.

技术相关:

分组提交和实时fsync

Group commit and real fsync
分组提交和实时fsync

During the recent months I’ve seen few cases of customers upgrading to MySQL 5.0 and having serious performance slow downs, up to 10 times in certain cases. What was the most surprising for them is the problem was hardware and even OS specific - it could show up with one OS version but not in the other. Even more interesting performance may be dramatically affected by –log-bin settings, which usually has just couple of percent overhead. So what is going on?

选择合适的innodb_log_file_size

Choosing proper innodb_log_file_size

选择合适的innodb_log_file_size

If you’re doing significant amount of writes to Innodb tables decent size of innodb_log_file_size is important for MySQL Performance. However setting it too large will increase recovery time, so in case of MySQL crash or power failure it may take long time before MySQL Server is operational again.

升级 MySQL

1、概述

通常,从一个发布版本升级到另一个版本时,我们建议按照顺序来升级版本。例如,想要升级 MySQL 3.23 时,先升级到 MySQL 4.0,而不是直接升级到 MySQL 4.1 或 MySQL 5.0。

以下是在升级 MySQL 时需要注意的事项:

  • 仔细阅读一下升级的目标版本的新特性和改变的特性,以及2个版本之间的不同特性
  • 升级前一定要备份所有的数据
  • 如果是在Windows平台上升级MySQL,请阅读附录 "在Windows平台上升级MySQL"
  • 有些不同版本间的升级可能会涉及对授权表的修改,请尤其注意这个问题,详情请阅读附录 "升级授权表"

技术相关:

如何设置MySQL同步(Replication)

MySQL 提供了数据库的同步功能,这对我们实现数据库的冗灾、备份、恢复、负载均衡等都是有极大帮助的。本文描述了常见的同步设置方法。

一、准备服务器

由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。

本文中,我们假设主服务器(以下简称Master)和从服务器(以下简称Slave)的版本都是5.0.15,操作系统是Linux Ubuntu 5.0.x。

假设同步Master的主机名为:rep1,Slave主机名为:rep2,2个MySQL的basedir目录都是/usr/local/mysql,datadir都是:/usr/local/mysql/data。

技术相关:

页面

Subscribe to RSS - MySQL高级技术