实现思路是通过mysql 自带的mysqld_multi工具,以下步骤在OSX 10.10.5 上亲测通过
步骤如下:
1、创建/usr/local/mysql目录,下载希望安装的mysql gz 文件,解压缩到/usr/local/mysql下
cd /usr/local
mkdir mysql
比如我分别下载了:
mysql-5.5.47-osx10.8-x86_64.tar.gz与mysql-5.7.10-osx10.9-x86_64.tar.gz
chown -Rf _mysql:_mysql mysql
tar -zxvf mysql-5.5.47-osx10.8-x86_64.tar.gz -C mysql
tar -zxvf mysql-5.7.10-osx10.9-x86_64.tar.gz -C mysql
2、新建/usr/local/mysql/data目录,并为不同版本分别创建子目录
cd mysql
mkdir data
cd data
mkdir 5.5.47
mkdir 5.7.1
3、安装mysql,需要指定basedir与datadir
cd /usr/local/mysql
mysql-5.5.47-osx10.8-x86_64/scripts/mysql_install_db --user=_mysql --basedir=/usr/local/mysql/mysql-5.5.47-osx10.8-x86_64/ --datadir=/usr/local/mysql/data/5.5.47
mysql-5.7.10-osx10.9-x86_64/bin/mysqld --initialize-insecure --user=_mysql --basedir=/usr/local/mysql/mysql-5.7.10-osx10.9-x86_64 --datadir=/usr/local/mysql/data/5.7.1 --tmpdir=/tmp
4、设置环境变量与启动、停止命令
vi ~/.bash_profile
内容如下:
export PATH="/usr/local/mysql/mysql-5.7.10-osx10.9-x86_64/bin:$PATH"
alias sta-5710="sudo mysqld_multi start 5710 && sleep 2 && ps -ef|grep mysql"
alias sto-5710="ps -ef|grep mysql_5710|grep -v grep|awk '{print \$2}'|xargs sudo kill -9"
alias sta-5547="sudo mysqld_multi start 5547 && sleep 2 && ps -ef|grep mysql"
alias sto-5547="ps -ef|grep mysql_5547|grep -v grep|awk '{print \$2}'|xargs sudo kill -9"
修改/usr/local/mysql/mysql-5.7.10-osx10.9-x86_64/conf的my.cnf如下(这一段配置是后面根据其他教程回忆加的,后面电脑已经交出去了,所以没有验证):
#!/bin/bash
[mysqld_multi]
mysqld = /usr/local/mysql/mysql-5.7.10-osx10.9-x86_64/bin/mysqld_safe
mysqladmin = /usr/local/mysql/mysql-5.7.10-osx10.9-x86_64/bin/mysqladmin
user = root
password = xxx
[mysqld5710]
basedir = /usr/local/mysql/mysql-5.7.10-osx10.9-x86_64/
port = 3306
socket = /tmp/mysql_5710.sock
datadir = /usr/local/mysql/mysql-5.7.10-osx10.9-x86_64/data
pid-file = /usr/local/mysql/data/5.7.10/mysql.pid
log-error = /usr/local/mysql/data/5.7.10/mysql.err
[mysqld5547]
basedir = /usr/local/mysql/mysql-5.5.47-osx10.8-x86_64/
port = 3307
socket = /tmp/mysql_5547.sock
datadir = /usr/local/mysql/data/5.5.47/
pid-file = /usr/local/mysql/data/5.5.47/mysql.pid
log-error = /usr/local/mysql/data/5.5.47/mysql.err
5、设置环境变量并测试
source ~/.bash_profile
sta-5710 启动mysql 5710
sto-5710 关闭mysql 5710