mac上建立并同时使用不一样mysql版本的多个实例

实现思路是经过mysql 自带的mysqld_multi工具,如下步骤在OSX 10.10.5 上亲测经过mysql

步骤以下:sql

一、建立/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

二、新建/usr/local/mysql/data目录,并为不一样版本分别建立子目录

cd mysql

mkdir data

cd data

mkdir 5.5.47

mkdir 5.7.1

三、安装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

四、设置环境变量与启动、中止命令

vi ~/.bash_profilebash

内容以下:socket

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

五、设置环境变量并测试

source ~/.bash_profile测试

sta-5710 启动mysql 5710spa

sto-5710 关闭mysql 5710code