如何在一台服务器上安装两个或者更多个的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.的数据
三、添加用户和目录
添加用户
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
四、编译mysql并安装
在源码编译安装前我们需要安装一下工具
cmake,make,gcc,Perl, yum install cmake,make,gcc,Perl -y
4.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
4.2 安装后的工作
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数据目录的权限
4.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
4.4 安装后的工作
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数据目录的权限
五、启动mysql
5.1 启动mysql-5.5.32
cd /mysqlsoft/mysql1 bin/mysqld_safe ?user=mysql &
5.2 启动mysql-5.6.31
cd /mysqlsoft/mysql2 bin/mysqld_safe ?user=mysql &
5.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
5.4 删除mysql里的其他项
1.改root用户更改密码
2.删除匿名用户
3. 删除mysql.db里的一些行,这些行定义了任何用户都可以访问test数据库,或者以test_开头的数据库。
DELETE FROM mysql.db WHERE Db LIKE ‘test%';
总结
以上就是这篇文章的全部内容,希望对大家的学习和工作能带来一定的帮助。