如何在一台服务器上安装两个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. begin

    经历了一段时间的使用Github发表个人博客,我的感受就是很装逼,但是很麻烦--,因为都是自己手动弄的,还不如博客园方便,还有自己买了域名,但是SEO却提不上起,或者说压根就没有 --#,所以说,经过 ...

  2. Scrum Meeting 20161205

    本周Sprint Master 史少帅 一. 会议概要 作为一个新的sprint的开端,本次scrum meeting总结了每个人过去以来的工作,并明确了下一步的计划,具体如下: 工作总结: · 陈双 ...

  3. JAVA发展史

    1990年年末,Sun 公司预料嵌入式系统在未来家用电器领域大显身手,于是Sun公司成立了一个由James Gosling 领导的"Gren计划"(由于C++和可用的API在某些方 ...

  4. TableView 滑动收起键盘

    self.tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; 拖拽tableView就会收起键盘

  5. app xml报错

    如下图所示红色区域,xml中第7行提示以下错误,检查了好久,没发现什么异常,请高人指点下,谢谢! error parsing xml:not well-formed (invalid token)

  6. c# .Net :Excel NPOI导入导出操作教程之数据库表信息数据导出到一个Excel文件并写到磁盘示例分享

      string sql = @"select * from T_Excel"; ----------------DataTable Star----------------    ...

  7. vue自定义指令

    Vue自定义指令: Vue.directive('myDr', function (el, binding) { el.onclick =function(){ binding.value(); } ...

  8. 带有runat="server" 的服务器控件通过 ClientID 获取Id

    带有runat="server" 的服务器控件 获取Id <input type="text" id="txtName" runat= ...

  9. Java面试题总结 from Baidu 网易 阿里

    参加了几场面试,小结下问题: Java 运行时内存模型,最好能画出来 Java 分代GC的原理,JVM中的集中GC 算法 基本多线程的方法和原理 HashMap  ConcurrentHashMap怎 ...

  10. RESTful 接口调试分享利器 restc

    这个工具来自于https://elemefe.github.io/restc/  这里对Abp进行了一次封装 1.在项目中添加nuget包 Abp.Web.Api.Restc 2.在项目Abp模块的D ...