生产环境MySQL 5.5.x单机多实例配置实践

背景需求:
1)在一台新采购的服务器上通过源码编译安装一个版本为5.5.x以上的MySQL数据库,并将所有配置文件与数据等均存放在/opt/mysql,以便于今后实现快速迁移、复制和整体备份;
2)在同一个MySQL中运行两个实例,一个绑定在端口3306,一个绑定在端口3307;绑定在3306端口的实例,不开启binlog,数据存放在/opt/mysql/data;绑定在3307端口的实例,开启binlog,数据存放在/opt/mysql/data2;
3)两个实例均采用InnoDB作为默认的存储引擎,字符编码采用UTF-8;两个实例均采用相同的性能优化配置参数,实现单机多实例的配置应用。

实施方案:
在编译安装时,将数据库的配置文件my.cnf以及data目录等均指向到/opt/mysql目录;通过mysqld_multi的方式来管理两个不同的实例,采用相同的配置文件共享性能优化配置参数;在同一个配置文件中,利用[mysqld1]与[mysqld2]标签实现不同实例的差异化配置。

配置过程:
1、源码编译安装MySQL
1)安装所需系统软件包
# yum -y install gcc gcc-c++ autoconf bison libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

2)安装前的系统设置
# mkdir /opt/mysql  //mysql安装目录
# mkdir /opt/mysql/data  //mysql数据存放目录
# groupadd mysql  //创建用户
# useradd -g mysql mysql //创建用户组
# chown mysql:mysql -R /opt/mysql/data //赋予数据存放目录权限

3)安装cmake
MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。因此,需要先在系统中源码编译安装cmake。
# mkdir /home/tools
# cd /home/tools
# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
# tar xf cmake-2.8.4.tar.gz
# cd cmake-2.8.4
# ./configure
# make;make install

4)开始编译安装MySQL
# wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.19.tar.gz
# tar xf mysql-5.5.19.tar.gz
# cd mysql-5.5.19
# cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DSYSCONFDIR=/opt/mysql/etc \
-DMYSQL_DATADIR=/opt/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
# make;make install

相关推荐