>php教程 >PHP开发 >mysql5.7.11의 다중 인스턴스 구성

mysql5.7.11의 다중 인스턴스 구성

高洛峰
高洛峰원래의
2016-11-23 09:49:001087검색

mysql5.7.11의 다중 인스턴스 구성

Mysql은 오랜 시간 동안 작업을 거쳐 드디어 두 번째 단계에 이르렀습니다. 바이두에서 검색해보니 멀티인스턴스가 5.5인 경우가 많고, 5.7의 설명이 자세하고 명확하지 않아서 좀 더 간단한 튜토리얼을 만들었습니다. 추신: Markdown을 처음 사용합니다. 시간을 절약하기 위해 rpm 패키지를 설치했습니다. 레벨이 제한되어 있습니다. Mysql5.5와 호환되지 않습니다.

표시되는 내용은 다음과 같습니다.

Mysql의 여러 인스턴스 구성 준비

Mysql의 여러 인스턴스 시작

Mysql에 연결

간단한 설정(선택)

Mysql 종료

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

    先改下目录的权限:
    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. 몇 가지 간단한 설정(선택 사항)

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

5. >

    注意:一定要用mysqladmin关闭
    mysqladmin -S /mysql_multi/3306/mysql.sock shutdown
    mysqladmin -S /mysql_multi/3307/mysql.sock shutdown
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 &
완료~ 마지막으로 몇 마디: mysqld_safe는 특정 버전의 mysql5.7 이후에는 찾을 수 없습니다(Baidu에서는 5.7.9라고 합니다).

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.