mysql5.7.11的多實例配置

#mysql5.7.11的多實例配置 Mysql通關好久終於到了第二階段,是時候搞些有意思的東西了。 百度了下,多實例不少都是5.5的,並且5.7的講得不詳細不清楚,因而作個簡單點的教程。 PS:第一次用Markdown;爲了省時間安裝用的是rpm包;水平有限還望指正;不兼容Mysql5.5。mysql

###你將要看到的有:sql

  1. 配置Mysql多實例的準備
  2. 啓動多個Mysql實例
  3. 鏈接Mysql
  4. 一些簡單設置(可選)
  5. Mysql的關閉
  6. 再增長一個Mysql實例

####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了。
相關文章
相關標籤/搜索