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了。
相关文章
相关标签/搜索