生产环境MySQL 5.5.x单机多实例配置实践
### 生产环境MySQL 5.5.x单机多实例配置实践 #### 背景需求 在企业级应用中,为了提高资源利用率和方便管理,经常会在同一台服务器上部署多个MySQL实例。本文档旨在详细介绍如何在一个全新的服务器上通过源码编译安装MySQL 5.5.x,并在同一台服务器上配置两个MySQL实例:一个监听3306端口且不开启二进制日志(binlog),另一个监听3307端口并开启binlog。此外,两个实例都将使用InnoDB作为默认存储引擎,并统一使用UTF-8字符集。 #### 实施方案 实施方案主要分为两个部分:通过源码编译安装MySQL,并将所有配置文件和数据文件统一放置在`/opt/mysql`目录下,便于后续的迁移和备份操作;利用`mysqld_multi`工具在同一台服务器上启动两个MySQL实例,通过配置文件实现两个实例之间的差异化配置。 #### 配置过程 ##### 源码编译安装MySQL 1. **安装所需系统软件包**: - 使用`yum`命令安装一系列必要的依赖包,包括编译工具、库文件等。 - ```bash # 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. **安装前的系统设置**: - 创建MySQL的安装目录和数据存放目录。 - 创建MySQL用户和用户组。 - 设置数据存放目录的所有者和组。 - ```bash # mkdir /opt/mysql # mkdir /opt/mysql/data # groupadd mysql # useradd -g mysql mysql # chown mysql:mysql -R /opt/mysql/data ``` 3. **安装cmake**: - MySQL 5.5.x版本开始使用cmake工具进行编译配置,因此需要先安装cmake。 - ```bash # 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**: - 下载MySQL源码包,并按照指定参数进行编译安装。 - ```bash # 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 ``` ##### 创建单机支持多实例 1. **进入MySQL主目录**: - ```bash # cd /opt/mysql/ ``` 2. **删除默认的data目录**: - ```bash # rm -rf data ``` 3. **创建需要的目录**: - 创建临时文件夹、运行状态文件夹、日志文件夹、binlog文件夹及两个数据文件夹。 - ```bash # mkdir tmp run log binlogs data data2 # chown -R mysql:mysql tmp run log binlogs data data2 ``` 4. **创建my.cnf配置文件**: - 编辑`/etc/my.cnf`配置文件,定义两个实例的不同配置。 - ```bash # vi /etc/my.cnf ## This server may run 2+ separate instances ## So we use mysqld_multi to manage them ``` 5. **配置实例差异**: - 在`my.cnf`文件中,使用`[mysqld1]`和`[mysqld2]`标签分别配置两个实例的参数。 - 对于第一个实例(3306端口): - 不开启binlog - 数据存放在`/opt/mysql/data` - 对于第二个实例(3307端口): - 开启binlog - 数据存放在`/opt/mysql/data2` - 可以添加额外的性能优化配置参数。 6. **启动MySQL实例**: - 使用`mysqld_multi`工具启动两个实例。 - ```bash # mysqld_multi start all ``` 通过以上步骤,可以在生产环境中成功实现MySQL 5.5.x单机多实例的配置。这种方式不仅能够充分利用硬件资源,还能根据不同的业务需求灵活地配置MySQL实例,提高系统的可维护性和扩展性。
剩余10页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于SpringBoot+Vue的甜品店管理系统_j3zp7m5e.zip
- 基于SpringBoot的口腔诊所系统的设计与实现_e47798hi.zip
- 基于spring和vue的食品厂管理系统_ipy4n001.zip
- 基于unity的显微镜操作仿真模拟实验系统.zip
- 基于springboot的学业跟踪评价系统(编号:61317366).zip
- 基于spring的留学信息推荐系统的设计与实现_41yux160.zip
- 电机振动噪声分析电机多转速工况下的NVH分析,有模型文件,教学视频
- 基于Web的医院挂号预约管理系统的设计与实现_tx5w3g1r.zip
- 基于web的助农商超网站的设计与实现_rtplg00p.zip
- 基于推荐算法的图书推荐系统_8f195yk6.zip
- 旧物回收管理系统(编号:19196363).zip
- 考务管理系统的设计与实现_91m7827u.zip
- 基于扩展卡尔曼滤波EKF和模型预测控制MPC,自动泊车场景建模开发,文复现 MATLAB(工程项目线上支持)
- 上科所中小型电机电磁计算程序
- Delphi 开发中国象棋完整源码.txt
- vue-editable-tree.zip