MySQL 5.1.63 单机配置多实例(简单配置)
需求:
在一台服务器上通过源码编译安装一个版本为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 单机配置多实例(简单配置)的更多相关文章
- CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍
前面已经介绍了大部分与vlan技术相关的交换机的协议的配置,更深层次的还有STP协议和以太网端口聚合技术,接着还会简单介绍一下路由器的基本应用. (1)STP(Spanning-tre ...
- mysql 5.7.15单机主从快速搭建并配置复制表到不同库
一直以来因为线上系统盘中风控计算过于消耗资源,导致服务器负载太高,时常影响盘中交易的稳定性,最近决定了将风控拆分到独立的库进行计算,并进行回填操作. 总体来说,是将部分风控计算相关的表同步到备库,但是 ...
- 配置 Cocoapods的简单配置及胡思乱想
外部访问属性 & 重要属性变化 外部访问方法 监听方法 内部属性 swift编写 懒加载控件.布局.监听 使用第三方框架之前先需要配置 cocoapods环境 (唐巧博客) gib 查看自己的 ...
- 重新整理 .net core 实践篇—————配置系统之简单配置中心[十一]
前言 市面上已经有很多配置中心集成工具了,故此不会去实践某个框架. 下面链接是apollo 官网的教程,实在太详细了,本文介绍一下扩展数据源,和简单翻翻阅一下apollo 关键部分. apollo 服 ...
- Amazon EC2安装mysql多实例并配置主从复制
1.MySQL安装: EC2直接使用yum安装mysql很方便: yum install mysql mysql-server mysql-libs 此处安装了三个包 完事之后可以直接使用 servi ...
- MySQL 5.5.35 单机多实例配置详解
一.前言 二.概述 三.环境准备 四.安装MySQL 5.5.35 五.新建支持多实例的配置文件(我这里配置的是四个实例) 六.初始化多实例数据库 七.提供管理脚本 mysqld_multi.serv ...
- mysql多实例的配置和管理
原文地址:mysql多实例的配置和管理 作者:飞鸿无痕 多实例mysql的安装和管理 mysql的多实例有两种方式可以实现,两种方式各有利弊.第一种是使用多个配置文件启动不同的进程来实现多实例,这种方 ...
- Elasticsearch单机下多实例配置
##################### Elasticsearch Configuration Example ##################### index.cache.field.ty ...
- Linux下mysql 多实例安装配置
首先我们要清楚什么是多实例?所谓多实例就是用多个配置文件来启动多个不同端口的进程,以不同的端口的形式为外提供服务.明白了多实例 我们下面的操作和配置就一目了然了首先我们要安装一套基础的应用程序,也就是 ...
随机推荐
- CSS skills: 2) change hover dynamically by js
//命名空间 var base = {}; //class base.gClass={}; //鼠标hover交互方法: 注册对象的hover的class特性以及mouseMoveIn,mouseMo ...
- PHPnow开启PHP扩展里openssl支持的方法
PHPnow 是 Win32 下绿色的 Apache + PHP + MySQL 环境套件包.简易安装.快速搭建支持虚拟主机的 PHP 环境.更多介绍<PHP服务套件 PHPnow1.5.6&g ...
- Toad for Oracle 12.1下载地址
32 位版: http://us-downloads.quest.com/Repository/support.quest.com/Toad for Oracle/12.1/Software/Toad ...
- [改善Java代码]推荐使用String直接量赋值
建议52:推荐使用String直接量赋值 一.建议 String对象的生成方式有两种: 1.通过new关键字生成,String str3 = new String(“中国”); 2.直接声明,如:St ...
- FragmentTabHost切换Fragment时避免重复加载UI
使用FragmentTabHost时,Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态. 解决办法:在Frag ...
- 谈在一个将TXT按章节分割的PHP程序中的收获
最近在做一个自动分割txt小说的东西,能够将一整个txt文件按照章节进行分割,然后分解成一个个小的.txt文件保存起来并且能够获取有多少章节和每章的章节名. 我最初的想法是: ① 先使用fopen打开 ...
- MyBatis(3.2.3) - One-to-one mapping using nested Select
We can get Student along with the Address details using a nested Select query as follows: <result ...
- linux学习书籍推荐linux学习书籍推荐
引用地址:http://www.cnblogs.com/notepi/archive/2013/06/15/3137103.html Linux 学习书目推荐 Linux基础 1.<Linux与 ...
- VirtualDesktop与Desktops多窗口程序的对比
在Linux系统下,有着原生的虚拟桌面程序,windows下面则没有提供. windows相对linux好的就是其良好的生态圈. Virtual Desktop类似linux的虚拟桌面程序,可以支持多 ...
- sql2000下如何新建并使用dbml
默认新建的dbml只是支持sql2005及其以上版本. 但是现在是sql2000怎么办?我要是想要用linq to sql 的? 解决方案如下: 1首先打开cmd,在其中cd到sqlmetal.exe ...