MySQL性能优化的简单说明
MySQL 作为 LAMP 组件中的重要一环,在网站架构中担当关于数据处理的重任。作为目前流行最为广泛的开源数据库,网络上已经有相当多的各种优化教程。本文将试着从改善 MySQL 配置入手,进一步提升 MySQL 的性能。 关于如何优化数据库结构及 SQL 语句不在本次讨论范围之内。 MySQL 性能优化分为三个部分,一是物理硬件的优化,二是 MySQL 安装时的编译优化,三是 MySQL 的配置文件 my.cnf 的优化。 一、物理硬件的优化 磁盘 I/O 是制约 MySQL 性能的最大因素之一。 采用 SSD 的服务器肯定会比普通 HDD 硬盘性能要好;采用 RAID10 的肯定要比单盘的性能要好。 所谓物理硬件的优化,其实也就是服务器(VPS)硬件的堆砌。更多的内存,更快的磁盘,更强的 CPU 无疑就是最佳的。 二、MySQL 安装时的编译优化 一般情况下不建议直接 yum 安装 MySQL ,一来不能定制功能,二来版本比较老。所以一般会采取编译安装的方式。 源码编译安装的前提条件(依赖包): 1、CMake。官网:http://www.cmake.org/ 2、GCC,A working ANSI C++ compiler. GCC 4.2.1 or later。官网:http://www.gnu.org/software/gcc/ 3、bison,2.1 or newer。官网:http://www.gnu.org/software/bison/ 4、m4。官网:http://www.gnu.org/software/m4/ 5、tar。官网:http://www.gnu.org/software/tar/ 编译参数: MySQL 5.5.x http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html MySQL 5.6.x http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html LAMP 一键安装脚本里对 MySQL 编译的参数如下: -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=complex -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_EMBEDDED_SERVER=1 ...