MySQL单台服务器跑多个实例子

mysqld_multi 命令实现管理
  1. 每个mysql实例都需要有独立的数据目录, socket链接, 端口. 所以, 为每个实例创建数据目录

    到mysql的数据目录下, 复制整个目录(有几个实例,就复制几份), 命名为新的实例名字(任意) (本例子拷贝了3份,分别放在/var/data/data{1,2,3}, Unix, Unix-like 注意文件权限)
    多个实例可以共享一份数据目录, 但强烈不建议, 会有意想不到的问到mysql官方

  2. 修改my.cnf文件(本例子跑了3个实例子分别[1,2,3])


    [client]
    # 默认 使用/tmp/mysql.sock1
    socket = /tmp/mysql.sock1
         [mysqld1]
         socket     = /tmp/mysql.sock1
         port       = 3306
         pid-file   = /var/data/data1/data1.pid
         datadir    = /var/data/data1
         user       = mysql
    
         [mysqld2]
         #mysqld     = /usr/bin/mysqld_safe
         #mysqladmin = /usr/bin/mysqladmin
         socket     = /tmp/mysql.sock2
         port       = 3307
         pid-file   = /var/data/data2/data2.pid
         datadir    = /var/data/data2
         user       = mysql
    
         [mysqld3]
         #mysqld     = /usr/bin/mysqld_safe
         #mysqladmin = /usr/bin/mysqladmin
         socket     = /tmp/mysql.sock3
         port       = 3308
         pid-file   = /var/data/data3/data3.pid
         datadir    = /var/data/data3
         user       = mysql

  3. 启动/停止
    mysqld_multi [OPTIONS] {start|stop|report} [GNR,GNR,GNR...]
    GNR 表示组名,本例子 启动所有 为 mysqld_multi start 1-3, 启动单个 mysqld_multi start 1
    同理 停止 mysqld_multi stop 1-3

mysqld_safe 实现
  1. 这种方式实现很简单了, 直接使用命令

    mysqld_safe --defaults-file=/etc/my1.cnf --user=mysql &
    mysqld_safe --defaults-file=/etc/my2.cnf --user=mysql &
    mysqld_safe --datadir=/var/data/data3 --pid-file=/var/data/data3/data3.pid --socket=/tmp/mysql.sock3 --user=mysql &

转载于:https://www.cnblogs.com/luowen/p/5067050.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值