首頁  >  文章  >  php教程  >  mysql5.7.11的多實例配置

mysql5.7.11的多實例配置

高洛峰
高洛峰原創
2016-11-23 09:49:001040瀏覽

mysql5.7.11的多實例配置

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

你將要看到的有:

配置Mysql多實例的準備

啟動多個Mysql實例

連接Mysql

一些簡單設定(選用)

My

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数据库

    先改下目录的权限:
    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

 连接

    连接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. 一些簡單設定(可選)

rrsqlee

 从管理角度来讲,应该要加个system的管理员用作远程管理    
 grant all privileges on *.* to system@'%' identified by '12345678' with grant option;

4. 一些簡單設定(可選)

    注意:一定要用mysqladmin关闭
    mysqladmin -S /mysql_multi/3306/mysql.sock shutdown
    mysqladmin -S /mysql_multi/3307/mysql.sock shutdown

55. . 再增加一個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 &

完成~    最後再說兩句話:mysql5.7某個版本以後(百度說是5.7.9)找不到mysqld_safe了。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn