如何在一台服务器上安装两个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,并能够 ...
随机推荐
- JSPatch 使用
1.JSPatch 准备 地址:https://github.com/bang590/JSPatch 框架:libz.1.tbd , JavaScriptCore.framework 2.cocosp ...
- 数据结构作业——Fresh Meat(优先队列)
Fresh Meat Description 我们故事的主角是屠夫扒鸡,起初屠夫扒鸡只是一个佣兵,他先去拜了太上老君为师,学了一技能肉钩,凭着一技肉钩驰骋决斗场,达到一段以后到阿尔伯特那里偷学了二技能 ...
- AnjularJS系列1 —— 样式相关的指令
最近,开始学习AngularJS. 开始记录学习AngularJS的过程,从一些很简单的知识点开始. 习惯先从实际应用的指令开始,再从应用中去体会AngularJS的优缺点.使用的场景等. 之前一直希 ...
- Android SDK NDK开发总结
描述:http://talent.baidu.com/external/baidu/index.html#/jobDetail/2/1237247043 android studio实现Jni(C/C ...
- Linux下Redis的安装和部署
一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...
- ParamTest
package fourth; public class ParamTest { public static void main(String[] args) { // TODO Auto-gener ...
- 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...
http://blog.csdn.net/lidew521/article/details/24441825
- 分享10款非常有用的 Ajax 插件
这篇文章与大家分享的是10款非常有用的 Ajax 插件,有用于图片的,用于分页的,还有用于导航的.这些作者的想法特别新颖,希望你能从中找到自己需要的插件. 1. AJAX-ZOOM 非常强大的一款插件 ...
- Android广播接收器BroadcastRceiver
一.使用BroadcastRceiver 1.创建BroadcastRceiver(MyRceiver),重写OnReceiver: public void onReceive(Context con ...
- 一个ListView怎么展示两种样式
private class MyBaseMsgAdapter extends BaseAdapter { //获取数据适配器中条目类型的总数,修改成两种(纯文本,输入+文字) @Override pu ...