如何在一台服务器上安装两个或者更多个的mysql呢?下面是详细的操作步骤,一起来学习学习吧。
一、环境
mysql软件包:
mysql-5.6.31.tar
mysql-5.5.32.tar
操作系统环境:
CentOS release 6.8 (Final)
二、系统规模
/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.的数据 |
三、添加用户和目录
添加用户
1
2
3
|
groupadd mysql
useradd mysql -g mysql
|
创建目录
1
2
3
4
5
|
mkdir /mysqlsoft
mkdir mysqlsoft /mysql1/ -pv
mkdir mysqlsoft /mysql2/ -pv
|
创建数据目录
1
2
3
4
5
|
mkdir /data
mkdir /data/mysql1/ -pv
mkdir /data/mysql2/ -pv
|
更改权限:
1
2
3
4
5
6
7
|
chown -R mysql:mysql mysqlsoft /mysql1
chown -R mysql:mysql mysqlsoft /mysql2
chown -R mysql:mysql /data/mysql1
chown -R mysql:mysql /data/mysql2
|
四、编译mysql并安装
在源码编译安装前我们需要安装一下工具
1
2
3
|
cmake, make ,gcc,Perl,
yum install cmake, make ,gcc,Perl -y
|
4.1 mysql-5.5.32
1
2
3
4
5
|
cd mysqlsoft /mysql1/
tar -zxvf mysql-5.5.32. tar .gz
mkdir bootstarp
|
我们把源码编译在bootstarp目录里
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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
4.2 安装后的工作
1
2
3
|
cd /mysqlsoft/mysql1
cp . /support-files/my-default .cnf my.cnf
|
编辑my.cnf添加配置项
1
2
3
|
chown -R mysql .
chgrp -R mysql .
|
初始化mysql:
1
|
scripts /mysql_install_db –user=mysql
|
更改mysql数据目录的权限
4.3 mysql-5.6.31
1
2
3
4
5
|
cd /mysqlsoft/mysql2
tar -zxvf mysql-5.6.31. tar .gz
mkdir bootstarp
|
我们把源码编译在bootstarp目录里
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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
4.4 安装后的工作
1
2
3
|
cd /mysqlsoft/mysql2
cp . /support-files/my-default .cnf my.cnf
|
编辑my.cnf添加配置项
1
2
3
|
chown -R mysql .
chgrp -R mysql .
|
初始化mysql:
1
|
scripts /mysql_install_db –user=mysql
|
更改mysql数据目录的权限
五、启动mysql
5.1 启动mysql-5.5.32
1
2
3
|
cd /mysqlsoft/mysql1
bin /mysqld_safe –user=mysql &
|
5.2 启动mysql-5.6.31
1
2
3
|
cd /mysqlsoft/mysql2
bin /mysqld_safe –user=mysql &
|
5.3 查看mysql的启动情况
1
2
3
4
5
6
7
8
9
|
[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
|
5.4 删除mysql里的其他项
1.改root用户更改密码
2.删除匿名用户
3. 删除mysql.db里的一些行,这些行定义了任何用户都可以访问test数据库,或者以test_开头的数据库。
1
|
DELETE FROM mysql.db WHERE Db LIKE ‘ test %';
|
总结
以上就是这篇文章的全部内容,希望对大家的学习和工作能带来一定的帮助。
原文链接:http://www.cnblogs.com/karmapeng/p/5844875.html