目標:同一個mysql實例,開啓兩個端口3307和3308。兩個端口使用獨立的數據文件。即實現「一庫多用」。mysql
環境:假設mysql安裝在/usr/local/mysql目錄下,管理mysql的用戶是mysql:mysql。linux
操做:sql
1,首先關閉selinux!若是開啓,修改mysql數據目錄時會一直失敗,報權限錯誤。關閉方法:shell
vim /etc/selinux/config
將SELINUX=enforcing改成SELINUX=disabled,而後重啓機器。vim
2,首先開啓第一個端口3307,假設配置文件在mysql安裝目錄下,配置好各項參數,端口爲3307,其餘略。這一步其實就是普通的開啓mysql操做:日誌
cd /usr/local/mysql && ./bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf --user=mysql --slow_query_log &
3,爲開啓3308端口作準備。首先換個目錄建數據文件夾。換目錄的目的就是爲了不兩個端口的數據文件在同一個分區時間久了磁盤空間可能吃緊。這裏以換到/home目錄下爲例:code
mkdir -p /home/mysql_3308/data cp /usr/local/mysql/my.cnf /home/mysql_3308/
而後修改配置文件,重點注意端口爲3308,數據文件目錄是/home/mysql_3308/data,pid文件要與3307端口的不一樣,不然起不來。進程
4,很重要的一步,新建的文件夾別忘了給mysql用戶權限:ci
chown -R mysql:mysql /home/mysql_3308
5,最後,啓動新的端口:class
cd /usr/local/mysql && ./bin/mysqld_safe --defaults-extra-file=/home/mysql_3308/my.cnf --user=mysql &
這裏要注意的就是defaults-extra-file參數,和以前啓動第一個3307端口是不一樣的。查看進程,若是同時存在3307和3308的mysql進程,則啓動成功,就能夠登陸進去添加帳號了。若是失敗,能夠查看錯誤日誌文件(log-error文件),具體問題具體分析。