zoukankan      html  css  js  c++  java
  • MYSQL多实例配置与使用教程

    在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 mysqld_multi

     1.修改my.cnf
     
    如一个定义两个实例的参考配置:

     代码如下 复制代码

    [mysqld_multi]
    mysqld = /usr/local/mysql/bin/mysqld_safe
    mysqladmin = /usr/local/mysql/bin/mysqladmin
    user = your_user
    password = your_password

    [mysqld1]
    datadir = /data/db/my1

    #连接
    port = 3306
    socket = /tmp/mysql3306.sock

    #binlog
    log-bin=/data/db/mylog1/mysql-bin
    binlog_format=mixed
    binlog_cache_size = 32M
    expire_logs_days = 30

    [mysqld2]
    datadir = /data/db/my2

    #连接
    port = 3307
    socket = /tmp/mysql3307.sock

    #binlog
    log-bin=/data/db/mylog2/mysql-bin
    binlog_format=mixed
    binlog_cache_size = 32M
    expire_logs_days = 3

     
    2.创建数据目录

     代码如下 复制代码
    mkdir -p /data/db/my21
    mkdir -p /data/db/my2
    chown mysql.mysql /data/db/my1 -R
    chown mysql.mysql /data/db/my2 -R

    3.初始化DB

     代码如下 复制代码

    /usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my1/ -uroot (mysql_install_db也是MYSQL官方自带工具)
    /usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my2/ -uroot
    chown mysql.mysql /data/db/my1/ -R
    chown mysql.mysql /data/db/my2/ -R

    4. 安装工具

     代码如下 www.111cn.net 复制代码

    cp /usr/local/mysql/bin/my_print_defaults /usr/bin/
    cp /usr/local/mysql/bin/mysqld_multi /usr/bin/

    5.创建、授权用户

     代码如下 复制代码

    CREATE USER "your_user"@"192.168.1.%" IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON *.* TO "your_user"@"192.168.1.%";
    flush privileges;

    至此,mysql多实例配置已经完毕。我们看到多个不同的MYSQL实例是共用my.cnf的。多实例命令行管理:
    1.mysql启动

     代码如下 复制代码

    mysqld_multi start 1 启动实例1
    mysqld_multi start 1-2 启动实例1,2

    2.mysql重启

     代码如下 复制代码

    mysqld_multi restart 1 重启实例1
    mysqld_multi restart 1-2 重启实例1,2

    3.mysql关闭

     代码如下 复制代码

    mysqld_multi stop 1 关闭实例1
    mysqld_multi stop 1-2 关闭实例1,2

    4.命令行登陆实例2

     代码如下 复制代码

    mysql -u your_user -p your_password -P3307 -S /tmp/mysql3307.sock


    后面附另一文章的

    Mysqld_multi启动、关闭、状态检查
    要想调用mysqld_multi,使用下面的语法:

    shell> mysqld_multi [options] {start|stop|report} [GNR[,GNR] ...]

    start、stop和report表示你想要执行的操作。你可以在单个服务器或多个服务器上执行指定的操作,取决于选项名后面的GNR 列。如果没有该列,mysqld_multi为选项文件中的所有服务器执行该操作。

    每个GNR值代表一个选项组号或组号范围。GNR值应为选项文件中组名末尾的号。www.111cn.net 例如,组[mysqld17]的GNR为17。要想指定组号的范围,用破折号间隔开第1个和最后1个号。GNR值10-13代表组[mysqld10]到[mysqld13]。可以在命令行中指定多个组或组范围,用逗号间隔开。GNR列不能有空格字符(空格或tab);空格字符后面的内容将被忽略掉。

    该命令使用选项组[mysqld1]启动单个服务器:

     代码如下 复制代码

    shell> /usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf start 1

    该命令停止多个服务器,使用选项组[mysql8]和[mysqld10]至[mysqld13]:

     代码如下 复制代码

    shell>/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf stop 8,10-13

    或者一下形式关闭单个服务器

     代码如下 复制代码

    shell> mysqladmin -u root -S /tmp/mysql3306.sock shutdown

    该命令查看多个服务器,使用选项组[mysql8]和[mysqld10]至[mysqld13]:

     代码如下 复制代码

    shell>/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf report 8,10-13

     
    你可能感兴趣的文章
  • 相关阅读:
    Best Time to Buy and Sell Stock III
    Valid Palindrome
    Longest Substring Without Repeating Characters
    Copy List with Random Pointer
    Add Two Numbers
    Recover Binary Search Tree
    Anagrams
    ZigZag Conversion
    Merge k Sorted Lists
    Distinct Subsequences
  • 原文地址:https://www.cnblogs.com/alibai/p/3601657.html
Copyright © 2011-2022 走看看