#mysql5.7.11的多實例配置 Mysql通關好久終於到了第二階段,是時候搞些有意思的東西了。 百度了下,多實例不少都是5.5的,並且5.7的講得不詳細不清楚,因而作個簡單點的教程。 PS:第一次用Markdown;爲了省時間安裝用的是rpm包;水平有限還望指正;不兼容Mysql5.5。mysql
###你將要看到的有:sql
####1. 配置Mysql多實例的準備 1.1 建立文件目錄數據庫
打算運行兩個實例,一個佔用3306端口,一個佔用3307端口,下面簡稱3306,3307實例 mkdir -p /mysql_multi/{3306,3307}/data 因爲是root建立的還要把權限更改下,這步先放一放留到2.1。 1.2 準備配置文件 vim編輯兩個my.cnf配置文件,編輯完後能夠按ZZ或者wq!直接保存退出: 簡單來講就是1.端口不同 2.目錄路徑不一樣 實例1的配置文件: datadir=/mysql_multi/3306/data socket=/mysql_multi/3306/mysql.sock log-error=/mysql_multi/3306/mysqld.log pid-file=/mysql_multi/3306/mysqld.pid server-id=1 port=3306 實例2的配置文件: datadir=/mysql_multi/3307/data socket=/mysql_multi/3307/mysql.sock log-error=/mysql_multi/3307/mysqld.log pid-file=/mysql_multi/3307/mysqld.pid server-id=2 port=3307 分別copy到/mysql_multi/3306和/mysql_multi/3307下
####2. 啓動多個Mysql實例 2.1 初始化兩個Mysql數據庫vim
先改下目錄的權限: chown -R mysql:mysql /mysql_multi 如今是Mysql5.7,以前的5.5都沒有這一步。 對於3306,執行: mysqld --defaults-file=/mysql_multi/3306/my.cnf --initialize-insecure --user=mysql 解釋: --defaults-file=/mysql_multi/3306/my.cnf :指定啓動的配置文件 --initialize-insecure :初始化數據庫,加上-insecure不生成隨機密碼 (直接登錄,不加上-insecure會在mysqld.log生成密碼,到時候要本身找 temporary password) --user=mysql : 指定用戶,這個沒什麼好說 3307的也同樣: mysqld --defaults-file=/mysql_multi/3307/my.cnf --initialize-insecure --user=mysql 要注意查看data目錄下面有沒有相關的數據庫文件,若是有問題,要看下你的mysqld.log 2.2 啓動實例 終於到啓動實例的關鍵時刻 輸入: 啓動3306實例:mysqld --defaults-file=/mysql_multi/3306/my.cnf --user=mysql & 啓動3307實例:mysqld --defaults-file=/mysql_multi/3307/my.cnf --user=mysql & 注意:最後面要加入 &讓它運行在後臺,否則打完按回車就"卡住"了 和剛剛差很少就是少了--initialize-insecure初始化數據庫這一步,運行成不成功能夠看下mysql.log或者 輸入netstat -ntlp 查看下佔用端口的進程(成功就能夠看到兩個mysqld進程,分別佔用3306,3307端口)
####3. 鏈接Mysql 鏈接socket
鏈接3306:mysql -uroot -p -S /mysql_multi/3306/mysql.sock 提示輸入密碼,直接回車進入。 鏈接3307:mysql -uroot -p -S /mysql_multi/3307/mysql.sock 和上面是同樣的 能夠輸入 system mysql -S /mysql_multi/3307/mysql.sock切換實例
####4. 一些簡單設置(可選)ide
從管理角度來說,應該要加個system的管理員用做遠程管理 grant all privileges on *.* to system@'%' identified by '12345678' with grant option;
####5. Mysql的關閉 注意:必定要用mysqladmin關閉 mysqladmin -S /mysql_multi/3306/mysql.sock shutdown mysqladmin -S /mysql_multi/3307/mysql.sock shutdowncode
####6. 再增長一個Mysql實例 和上面步驟差很少 1. 建立相關目錄 mkdir -p /mysql_multi/3308/data 2.更改所屬用戶和所屬組 chown -R mysql:mysql 3308 3.複製修改配置文件(不細說了) 4.初始化: mysqld --defaults-file=/mysql_multi/3308/my.cnf --initialize-insecure --user=mysql 5.啓動:mysqld --defaults-file=/mysql_multi/3308/my.cnf --user=mysql &server
完成~ 最後再說兩句:mysql5.7某個版本之後(百度說是5.7.9)找不到mysqld_safe了。