需求:
在一台服务器上通过源码编译安装一个版本为5.1.63版本MySQL数据库;
方案:
将所有配置文件与数据等均存放在/home/zhaoshuangshuang下。
在同一个MySQL中运行两个实例,一个绑定在端口3306,另一个绑定在端口3307。
其中,绑定3306端口的实例,数据存放在/home/zhaoshuangshuang/mysql/3306下;
绑定端口3307的实例,数据存放在/home/zhaoshuangshuang/mysql/3307下。
两个实例的存储引擎及字符集都按默认;
两个实例均采用相同的性能优化配置参数;
在编译安装时,将数据库的配置文件my.cnf以及数据目录等均指向到/home/zhaoshuangshuang/mysql目录;
通过mysqld_multi的方式来管理两个不同的实例,采用相同的配置文件共享性能优化配置参数;
在同一个配置文件中,利用[mysqld1]与[mysqld2]标签实现不同实例的差异化配置;
实施步骤:

1、编译安装MySQL数据库
我测试用的服务器已经安装过MySQL用户和用户组,分别是mysql。如果没有,请先创建用户和用户组。
$ tar -zxvf mysql-5.1.63.tar.gz
$ cd mysql-5.1.63
$ make
$ make install
这步执行完毕,就在/home/zhaoshuangshuang/mysql下,MySQL已经编译安装完成。
2、配置my.cnf以支持多实例
创建几个需要的目录: mkdir etc tmp run log binlogs 3306 3307
创建my.cnf配置文件:
$ vi my.cnf
[mysqld_multi]
mysqld = /home/zhaoshuangshuang/mysql/bin/mysqld_safe
mysqladmin = /home/zhaoshuangshuang/mysql/bin/mysqladmin
log = /home/zhaoshuangshuang/mysql/log/mysqld_multi.log
user = root
[mysqld1]
socket = /home/zhaoshuangshuang/mysql/run/mysqld.sock
port = 3306
pid-file = /home/zhaoshuangshuang/mysql/run/mysqld.pid
datadir = /home/zhaoshuangshuang/mysql/3306
[mysqld2]
socket = /home/zhaoshuangshuang/mysql/run/mysqld.sock2
port = 3307
pid-file = /home/zhaoshuangshuang/mysql/run/mysqld.pid2
datadir = /home/zhaoshuangshuang/mysql/3307
log-bin = /home/zhaoshuangshuang/mysql/binlogs/bin-log-mysqld2
log-bin-index = /home/zhaoshuangshuang/mysql/binlogs/bin-log-mysqld2.index
max_binlog_size = 1024m
[mysqld]
basedir = /home/zhaoshuangshuang/mysql
tmpdir = /home/zhaoshuangshuang/mysql/tmp
socket = /home/zhaoshuangshuang/mysql/run/mysqld.sock
port = 3306
pid-file = /home/zhaoshuangshuang/mysql/run/mysqld.pid
datadir = /home/zhaoshuangshuang/mysql/3306
max_connections = 200
3、初始化数据库
$ cd /home/zhaoshuangshuang/mysql-5.1.63
$ script/mysql_install_db --basedir=/home/zhaoshuangshuang/mysql --user=root --datadir=/home/zhaoshuangshuang/mysql/3306
$ script/mysql_install_db --basedir=/home/zhaoshuangshuang/mysql --user=root --datadir=/home/zhaoshuangshuang/mysql/3307
4、创建mysqld_multi脚本
$ cd /home/zhaoshuangshuang/mysql/
$ cp ../mysql-5.1.63/support-files/mysqld_multi.server ./init.d
$ vi init.d/mysqld_multi.server
#!/bin/sh
#
# A simple startup script for mysqld_multi by Tim Smith and Jani Tolonen.
# This script assumes that my.cnf file exists either in /etc/my.cnf or
# /root/.my.cnf and has groups [mysqld_multi] and [mysqldN]. See the
# mysqld_multi documentation for detailed instructions.
#
# This script can be used as /etc/init.d/mysql.server
#
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 64 36
# description: A very fast and reliable SQL database engine.
#
# Version 1.0
#
basedir=/home/zhaoshuangshuang/mysql
bindir=/home/zhaoshuangshuang/mysql/bin
if test -x $bindir/mysqld_multi
then
mysqld_multi="$bindir/mysqld_multi";
else
echo "Can't execute $bindir/mysqld_multi from dir $basedir";
exit;
fi
case "$1" in
'start' )
"$mysqld_multi" start $2
;;
'stop' )
"$mysqld_multi" stop $2
;;
'report' )
"$mysqld_multi" report $2
;;
'restart' )
"$mysqld_multi" stop $2
"$mysqld_multi" start $2
;;
*)
echo "Usage: $0 {start|stop|report|restart}" >&2
;;
esac
设置mysqld_multi脚本的可执行性,chmod u+x mysqld_multi
5、管理数据库实例
启动:
$ /home/zhaoshuangshuang/mysql/init.d/mysqld_multi start 1,2
观看启动后:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 31877/mysqld
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 31916/mysqld
关闭:
$ /home/zhaoshuangshuang/mysql/init.d/mysqld_multi stop 1,2
6、登陆数据库实例
登陆3306端口:
bin/mysql -P 3306 -u root -p -S /home/zhaoshuangshuang/mysql/run/mysqld.sock
登陆3307端口:
bin/mysql -P 3307 -u root -p -S /home/zhaoshuangshuang/mysql/run/mysqld.sock2
其中-S是选择的socket路径,在步骤2的my.cnf中设置。

MySQL 5.1.63 单机配置多实例(简单配置)的更多相关文章

  1. CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍

        前面已经介绍了大部分与vlan技术相关的交换机的协议的配置,更深层次的还有STP协议和以太网端口聚合技术,接着还会简单介绍一下路由器的基本应用.     (1)STP(Spanning-tre ...

  2. mysql 5.7.15单机主从快速搭建并配置复制表到不同库

    一直以来因为线上系统盘中风控计算过于消耗资源,导致服务器负载太高,时常影响盘中交易的稳定性,最近决定了将风控拆分到独立的库进行计算,并进行回填操作. 总体来说,是将部分风控计算相关的表同步到备库,但是 ...

  3. 配置 Cocoapods的简单配置及胡思乱想

    外部访问属性 & 重要属性变化 外部访问方法 监听方法 内部属性 swift编写 懒加载控件.布局.监听 使用第三方框架之前先需要配置 cocoapods环境 (唐巧博客) gib 查看自己的 ...

  4. 重新整理 .net core 实践篇—————配置系统之简单配置中心[十一]

    前言 市面上已经有很多配置中心集成工具了,故此不会去实践某个框架. 下面链接是apollo 官网的教程,实在太详细了,本文介绍一下扩展数据源,和简单翻翻阅一下apollo 关键部分. apollo 服 ...

  5. Amazon EC2安装mysql多实例并配置主从复制

    1.MySQL安装: EC2直接使用yum安装mysql很方便: yum install mysql mysql-server mysql-libs 此处安装了三个包 完事之后可以直接使用 servi ...

  6. MySQL 5.5.35 单机多实例配置详解

    一.前言 二.概述 三.环境准备 四.安装MySQL 5.5.35 五.新建支持多实例的配置文件(我这里配置的是四个实例) 六.初始化多实例数据库 七.提供管理脚本 mysqld_multi.serv ...

  7. mysql多实例的配置和管理

    原文地址:mysql多实例的配置和管理 作者:飞鸿无痕 多实例mysql的安装和管理 mysql的多实例有两种方式可以实现,两种方式各有利弊.第一种是使用多个配置文件启动不同的进程来实现多实例,这种方 ...

  8. Elasticsearch单机下多实例配置

    ##################### Elasticsearch Configuration Example ##################### index.cache.field.ty ...

  9. Linux下mysql 多实例安装配置

    首先我们要清楚什么是多实例?所谓多实例就是用多个配置文件来启动多个不同端口的进程,以不同的端口的形式为外提供服务.明白了多实例 我们下面的操作和配置就一目了然了首先我们要安装一套基础的应用程序,也就是 ...

随机推荐

  1. Curl上传文件

    curl -v -XPOST -H /thumbnail

  2. Samba服务详解

    Samba文件服务器 本章结构 服务简介 SMB协议 Server Message Block,服务消息块 CIFS协议 Common Internet File System,通用互联网文件系统 S ...

  3. Mac下批量打包

    两种方式: 第一种:有源码 这种方式比较 简单.利用ant打包.直接shell脚本修改 配置渠道号的文件.我们目前是用的umeng的.在AndroidManifest.xml里.提供一个简单的修改渠道 ...

  4. 知道网站PV流量,如何选何云主机配置带宽大小

  5. 是时候全面使用html5标签了

    html5,这个词语,不管是业内还是业外,都已经耳熟能详了.因为已经火了这么长的的时间了.但是,真正开始使用的又有多少人呢?只能用呵呵来形容了! html5真的来了 2014年10月28日,历经八年, ...

  6. asp.net自定义控件

    回发星级控件 using System; using System.ComponentModel; using System.Web.UI; using System.Web.UI.WebContro ...

  7. C# 每天温习一点(IEnumerable<TSource>)

    1, IEnumerable<TSource> 多数屌丝写成  IEnumerable<T>  无论TSource还是T都代表一个意思:要枚举的对象的类型 .IEnumerab ...

  8. vs2010打包winform程序详解

    vs2010打包winform程序详解   最近一直在做winform程序,做完后程序打包很头疼,第三方打包工具,好用的花钱,不花钱的不好用,最后只能用vs自带的打包工具了! 打包过程vs2010(包 ...

  9. 设置一个View的背景图片的集中方法

    控制器view的背景图片的方法, 四种: 1.直接在控制器view上添加一个imageView大小设置的和view一样 UIImageView *beijingimage = [UIImageView ...

  10. YSPASYS 中小型企业简单员工评价考核系统

    背景:公司运营接近2年时间了,随着不断的有员工入职.离职,使用信息化管理员工各类信息是一件很有必要的事儿.诸如员工基本信息,内部公告,资产盘点,客户管理,工作周报,优秀员工评选,请假.外出.报销.采购 ...