如何在一台服务器上安装两个mysql或者更多
如何在一台服务器上安装两个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或者更多的更多相关文章
- (windows)一台电脑上安装两个Mysql服务
原文:https://my.oschina.net/u/1472917/blog/410732 最近需要在一台电脑上安装两个Mysql服务,需求稍微有些奇怪,但确实很必要.本人原本为了本机测试Word ...
- 如何在一台机器上安装两个MYSQL数据库
1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy ...
- 【MySQL】一台服务器上搭建两个mysql节点
环境: CentOS 6.8 memory:1G Mysql 5.7 二进制安装包 1.安装相关的环境包 yum -y install gcc glibc libaio libstdc++ libs ...
- 在一台Linux服务器上安装多个MySQL实例(一)--使用mysqld_multi方式
(一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务 ...
- 如何在同一台机器上安装多个MySQL的实例
转自:'http://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的 ...
- 如何在同一台机器上安装多个MySQL的实例 转
https://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MyS ...
- 如何在同一台机器上安装多个MySQL的实例(转)
最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MySQL的实例). 先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务 ...
- 如何在同一台服务器上安装多套通达OA
本人最近研究了在同一服务器安装多套通达OA的方法:发现网上关于这个话题的文章比较少,于是录制成视频,在此发布,希望对有这方面需求的朋友有所帮助: http://blog.163.com/zhuwei_ ...
- 如何在同一台服务器上部署两个tomcat
因为测试的需要,有时我们必须在同一个服务器上部署两个tomcat,然后去做应用的部署,那么很多同学可能会觉得比较为难,找的资料也比较的不齐全,那么今天华华就来给大家讲讲如何部署2个tomcat,并能够 ...
随机推荐
- 使用Navicat在oracle XE上新建表空间、用户及权限赋予
参考资料: 烂泥:使用Navicat for Oracle新建表空间.用户及权限赋予 - 烂泥行天下 - 51CTO技术博客http://ilanni.blog.51cto.com/526870/12 ...
- Theano Inplace
Theano Inplace inplace Computation computation that destroy their inputs as a side-effect. Example i ...
- Spring(Model)
一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 分层架构,一站式(full-stack),高内聚低耦合,允许客户端JavaScript远程调用服务端JAVA类方法 应用中的对象不依赖于S ...
- 微软unity 注入mvc
首先获取开源unity ,引用, 新建UnityDependencyResolver 继承IDependencyResolver,代码如下: public class UnityDependencyR ...
- android开发注意事项
写到哪里算哪里,从新项目 说说我怎样开发 1.新建项目,创建自己的application 在Application中初始化xutils3和自己的UncaughtExceptionHandler,添加 ...
- 8Spring初步----青软S2SH(笔记)
例子: bean.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- telnet模拟邮件发送
前提:Telnet命令可用 问题:提示不是内部命令: 解决办法:控制面板->程序和功能->打开或关闭Windows功能,把Telnet客户端勾上即可: 步骤: telnet smtp.al ...
- C# XMLDocument
今天开发一个WPF模块需要本地化保存一些用户设置,鉴于数据量不大,用XML. (要是再小的话可以用Resources 和 Settings). 清晰简短教程移步:http://bdk82924.ite ...
- js中Window 对象及其的方法
window.location 对象 window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面.window.location 对象在编写时可不使用 wind ...
- phalcon3.0.1默认多模块生成的几个bug
发现用Phalcon DevTools (3.0.0)生成的多模块有一些bug: 默认的路由定义,字符串替换有误 原代码// $namespace = str_replace('Module','Co ...