如何在一台服务器上安装两个mysql

1       前言

上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢?

2       环境

mysql软件包:

mysql-5.6.31.tar

mysql-5.5.32.tar

操作系统环境:

CentOS release 6.8 (Final)

3       系统规模

/mysqlsoft

用来存放mysql的各个程序

/mysqlsoft/mysql1

用来存放mysql-5.5.32.tar

的安装程序

/mysqlsoft/mysql2

用来存放mysql-5.6.31.tar

的安装程序

/mysqlsoft/mysql1/mysql.sock

/mysqlsoft/mysql2/mysql.sock

/data

用来存放数据

/data/mysql1

用来存放mysql-5.5.32.的数据

/data/mysql2

用来存放mysql-5.6.31.的数据

4       添加用户和目录

添加用户

groupadd mysql

useradd mysql -g mysql

创建目录

mkdir /mysqlsoft

mkdir mysqlsoft/mysql1/ -pv

mkdir mysqlsoft/mysql2/ -pv

创建数据目录

mkdir /data

mkdir /data/mysql1/ -pv

mkdir /data/mysql2/ -pv

更改权限:

chown -R mysql:mysql mysqlsoft/mysql1

chown -R mysql:mysql mysqlsoft/mysql2

chown -R mysql:mysql /data/mysql1

chown -R mysql:mysql /data/mysql2

5       编译mysql并安装

在源码编译安装前我们需要安装一下工具

cmake,make,gcc,Perl,

yum install cmake,make,gcc,Perl -y

5.1     mysql-5.5.32

cd mysqlsoft/mysql1/

tar -zxvf mysql-5.5.32.tar.gz

mkdir bootstarp

我们把源码编译在bootstarp目录里

cmake ..  -DCMAKE_INSTALL_PREFIX=/mysqlsoft/mysql1

-DMYSQL_DATADIR=/data/mysql1

-DSYSCONFDIR=/mysqlsoft/mysql1

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

-DMYSQL_TCP_PORT=3301

-DMYSQL_UNIX_ADDR=/mysqlsoft/mysql1/mysql.sock

编译完后,我们需要make然后make install

5.2     安装后的工作

具体参考: http://www.cnblogs.com/karmapeng/p/5844875.html

cd /mysqlsoft/mysql1

cp ./support-files/my-default.cnf my.cnf

编辑my.cnf添加配置项

chown  -R mysql .

chgrp  -R mysql .

初始化mysql:

scripts/mysql_install_db --user=mysql

更改mysql数据目录的权限

5.3     mysql-5.6.31

cd /mysqlsoft/mysql2

tar -zxvf mysql-5.6.31.tar.gz

mkdir bootstarp

我们把源码编译在bootstarp目录里

cmake ..  -DCMAKE_INSTALL_PREFIX=/mysqlsoft/mysql2

-DMYSQL_DATADIR=/data/mysql2

-DSYSCONFDIR=/mysqlsoft/mysql2

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

-DMYSQL_TCP_PORT=3302

-DMYSQL_UNIX_ADDR=/mysqlsoft/mysql2/mysql.sock

编译完后,我们需要make然后make install

5.4     安装后的工作

具体参考: http://www.cnblogs.com/karmapeng/p/5844875.html

cd /mysqlsoft/mysql2

cp ./support-files/my-default.cnf my.cnf

编辑my.cnf添加配置项

chown  -R mysql .

chgrp  -R mysql .

初始化mysql:

scripts/mysql_install_db --user=mysql

更改mysql数据目录的权限

6       启动mysql

6.1     启动mysql-5.5.32

cd /mysqlsoft/mysql1

bin/mysqld_safe --user=mysql &

6.2     启动mysql-5.6.31

cd /mysqlsoft/mysql2

bin/mysqld_safe --user=mysql &

6.3     查看mysql的启动情况

[root@mysql mysql2]# ps -ef | grep mysql

root      6329  2853  0 13:19 pts/0    00:00:00 /bin/sh bin/mysqld_safe --user=mysql

mysql     6607  6329  0 13:19 pts/0    00:00:00 /mysqlsoft/mysql1/bin/mysqld --basedir=/mysqlsoft/mysql1/ --datadir=/data/mysql1/ --plugin-dir=/mysqlsoft/mysql1//lib/plugin --user=mysql --log-error=/data/mysql1//mysql.localdomain.err --pid-file=/data/mysql1//mysql.localdomain.pid --socket=/mysqlsoft/mysql1/mysql.sock --port=3301

root      6630  2853  0 13:20 pts/0    00:00:00 /bin/sh bin/mysqld_safe --user=mysql

mysql     6774  6630  0 13:20 pts/0    00:00:00 /mysqlsoft/mysql2/bin/mysqld --basedir=/mysqlsoft/mysql2 --datadir=/data/mysql2 --plugin-dir=/mysqlsoft/mysql2/lib/plugin --user=mysql --log-error=/data/mysql2/mysql.localdomain.err --pid-file=/data/mysql2/mysql.localdomain.pid --socket=/mysqlsoft/mysql2/mysql.sock --port=3302

6.4     删除mysql里的其他项

1.改root用户更改密码

2.删除匿名用户

3. 删除mysql.db里的一些行,这些行定义了任何用户都可以访问test数据库,或者以test_开头的数据库。

DELETE FROM mysql.db WHERE Db LIKE 'test%';

具体请参考

http://www.cnblogs.com/karmapeng/p/5844875.html

如何在一台服务器上安装两个mysql或者更多的更多相关文章

  1. (windows)一台电脑上安装两个Mysql服务

    原文:https://my.oschina.net/u/1472917/blog/410732 最近需要在一台电脑上安装两个Mysql服务,需求稍微有些奇怪,但确实很必要.本人原本为了本机测试Word ...

  2. 如何在一台机器上安装两个MYSQL数据库

    1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy ...

  3. 【MySQL】一台服务器上搭建两个mysql节点

    环境: CentOS 6.8  memory:1G Mysql 5.7 二进制安装包 1.安装相关的环境包 yum -y install gcc glibc libaio libstdc++ libs ...

  4. 在一台Linux服务器上安装多个MySQL实例(一)--使用mysqld_multi方式

    (一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务 ...

  5. 如何在同一台机器上安装多个MySQL的实例

    转自:'http://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的 ...

  6. 如何在同一台机器上安装多个MySQL的实例 转

    https://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MyS ...

  7. 如何在同一台机器上安装多个MySQL的实例(转)

    最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MySQL的实例). 先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务 ...

  8. 如何在同一台服务器上安装多套通达OA

    本人最近研究了在同一服务器安装多套通达OA的方法:发现网上关于这个话题的文章比较少,于是录制成视频,在此发布,希望对有这方面需求的朋友有所帮助: http://blog.163.com/zhuwei_ ...

  9. 如何在同一台服务器上部署两个tomcat

    因为测试的需要,有时我们必须在同一个服务器上部署两个tomcat,然后去做应用的部署,那么很多同学可能会觉得比较为难,找的资料也比较的不齐全,那么今天华华就来给大家讲讲如何部署2个tomcat,并能够 ...

随机推荐

  1. 02. Let & Const

    Let & Const let 基础用法 很简单就能说明这个问题 if(false) { var a = 'heihei' } a = undefined if(true) { var a = ...

  2. js parsefloat

    项目中需要对返回的小数进行格式化,把零省略掉. 1.00   ---> 1 1.01   ---> 1.01 1.10   ---> 1.1 parseFloat() 函数可解析一个 ...

  3. p/invoke碎片--对数组的封送处理

    因为数组是引用类型,所以数组的处理根据数组元素的类型是否为“可直接传递到非托管代码”的类型而分为两种情况.主要目标是看内存是怎么变化的,是复制还是锁定. 数组中的元素是"可直接传递到非托管代 ...

  4. Django基础,Day3 - 编写 django admin

    Django 自带了一个简易编辑后台,可以称为"内容发布器",一般是提供给站点管理员使用的,其最开始也是开发出来提供给报社编辑和发布新闻使用的. 创建超级管理员: $ python ...

  5. 【转载学习前辈的经验】-- Mistakes I made (as a developer) 我(作为一名开发者)所犯过的错误

    我 2006 年开始工作,至今已经 10 年.10 年是个里程碑,我开始回顾自己曾经犯过的错误,以及我希望从同行那里得到什么类型的忠告.一切都在快速改变,10 年了,我不能确定这些秘诀是否还有用. 不 ...

  6. 推荐几款我一直在用的chrome插件(上)

    我用的chrome插件挺多的,所谓工欲善其事必先利其器,我热衷于搜寻好用的工具来让我平时的工作事半功倍.下面介绍几款我正在用的感觉还不错的插件,如果大家还有其它好用的(肯定有,chrome插件库太庞大 ...

  7. HDU1020字符串操作

    #include <stdio.h> #include <string.h> int N; int size; void main() { scanf("%d&quo ...

  8. 谈谈混合 App Web 资源的打包与增量更新

    综述 移动 App 的运行环境具有带宽不稳定,流量收费,启动速度比较重要等特点,所以混合 App 如何加载 Web 资源并不是一个新问题.本文目的是总结出一种资源打包下载的思路和方案,并且提供一种打包 ...

  9. (转载)解决GDI闪烁

    一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的 ...

  10. .Net GridView 序号列

    给GridView增加一列:序号列 <asp:TemplateField HeaderText="序号"> <ItemTemplate> <%# (( ...