mac下同一个机器启动多个mysql实例

在开发测试过程中有的时候可能需要不同的数据,这个时候可能就要频繁的导入导出数据,比较麻烦,如果在一个机器上可以有多个实例,就可以减少导入导出数据的操作,比较方便,下面就说一下怎么在mac下以不同的端口启动多个mysql的实例。

在mac下mysql一般装在
/usr/local/mysql

这个时候默认的是使用3306端口
我们这里另建两个3307,3308

1,首先建两个目录
 
 /usr/local/mysql/data_1/
   /usr/local/mysql/data_2/

  并把/usr/local/mysql/data/数据考入刚刚建好的两个目录

2在/usr/local/mysql下面建两个文件
文件名:mysql_start.sh

export PATH=/usr/local/mysql/bin:$PATH
CONF_FILE=/usr/local/mysql/my_multi.cnf
MYSQL_HOME=/usr/local/mysql

$MYSQL_HOME/bin/mysqld_multi --defaults-extra-file=$CONF_FILE start $1,$2


mysql_start.sh这个文件是用来运行mysql的

文件名:my_multi.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = root

#实例1
[mysqld1]
socket = /tmp/mysql_3307.sock
#端口
port = 3307
#进程ID文件
pid-file = /usr/local/mysql/data_1/hostname.pid
#数据文件存储目录
datadir = /usr/local/mysql/data_1
#日志文件
log = /usr/local/mysql/data_1/hostname.log
#用户
user = root

#实例2
[mysqld2]
socket = /tmp/mysql_3308.sock
port = 3308
pid-file = /usr/local/mysql/data_2/hostname.pid
datadir = /usr/local/mysql/data_2
log = /usr/local/mysql/data_2/hostname.log
user = root


上面的做好后就可以运行了
启动的时候
启动3307:sudo sh /usr/local/mysql/mysql_start.sh 1
启动3308:sudo sh /usr/local/mysql/mysql_start.sh 2

关闭数据就用
首先进入目录
cd /usr/local/mysql/bin/

关闭3307:sudo ./mysqladmin -uroot -h127.0.0.1 -P3307  shutdown
关闭3308:sudo ./mysqladmin -uroot -h127.0.0.1 -P3308  shutdown

本文参考:
http://7days1week.blog.sohu.com/135473186.html
http://blog.sina.com.cn/s/blog_467eb8ca010111fd.html

你可能感兴趣的:(mysql)