mysql 多实例方式(二)---mysqld_multi

基于上一篇 “多实例–多配置文件方式” 的 环境继续操作

基本信息:

[root@localhost ~]# cat /etc/issue
CentOS release 6.5 (Final)          

mysql> \s
Server version:         5.7.21 Source distribution      ---源码编译安装
Protocol version:       10

[root@localhost ~]# netstat -anp | grep mysqld
tcp        0      0 :::3307                     :::*                        LISTEN      75638/mysqld        ----多配置文件添加的
tcp        0      0 :::3306                     :::*                        LISTEN      75910/mysqld        
unix  2      [ ACC ]     STREAM     LISTENING     387245 75638/mysqld        /disk1/mysql/mysql3307.sock
unix  2      [ ACC ]     STREAM     LISTENING     387439 75910/mysqld        /disk1/mysql/mysql.sock

1. 声明

① mysqld_multi 是官方提供的,用来管理侦听unix/linux下不同端口mysqld进程(多实例)
② 通过将所有实例信息写入到配置文件,调用配置文件来分别管理[mysqld_multi] [mysqldN] 两个选项,即原有其他选项依然生效
如[mysqld] 的3306端口依然生效,可依然由 service mysqld 进行管理,互不干扰
③ 遵循mysql读取配置文件的默认顺序,也可自己定义配置文件位置
–defaults-file –defaults-extra-file
④ 可通过 mysqld_multi –example 来获取配置文件示例
注:示例给出的password 有误,应改为 pass
⑤ 如果配置文件不使用root用户,其他自定义用户XXX,则必须在实例启动后创建并赋予权限

下面操作,基于/etc/my.cnf配置文件,添加 3308,3309端口示例 利用mysqld_multi进行管理

2. 配置步骤

2.1 创建相关目录

[root@localhost ~]# mkdir -pv /disk1/mysql/data3308
[root@localhost ~]# mkdir -pv /disk1/mysql/data3309
[root@localhost ~]# chown  -R mysql.mysql /disk1/mysql/data330{8,9}

2.2 配置文件

在现有的/etc/my.cnf配置文件后追加以下内容:

[mysqld_multi]
mysqld     = /disk1/mysql/bin/mysqld_safe
mysqladmin = /disk1/mysql/bin/mysqladmin
user       = root
pass   = 123456                       ------注意这里跟示例样本不一样(示例是password)

[mysqld3308]
socket     = /tmp/mysql3308.sock
port       = 3308
pid-file   = /disk1/mysql/data3308/hostname.pid
datadir    = /disk1/mysql/data3308

[mysqld3309]
socket     = /tmp/mysql3309.sock
port       = 3309
pid-file   = /disk1/mysql/data3309/hostname.pid
datadir    = /disk1/mysql/data3309

2.3 初始化数据库实例

[root@localhost ~]# mysqld  --initialize-insecure --user=mysql --basedir=/disk1/mysql/  --datadir=/disk1/mysql/data3308
[root@localhost ~]# mysqld  --initialize-insecure --user=mysql --basedir=/disk1/mysql/  --datadir=/disk1/mysql/data3309
[root@localhost ~]# mysqld_multi start

2.4 实例用户密码

为每个实例修改root密码,并且密码要与配置文件/etc/my.cnf保持一致,mysqld_multi 工具该user 去管理各个实例
由于用的是root账户,实例默认就有不存在权限问题,如果其他自己定义的user,则需赋予权限。
确保3308,3309实例启动中,修改密码:

[root@localhost ~]# mysqladmin -P 3308 -S /tmp/mysql3308.sock -u root -p password 123456
Enter password:    ---直接回车,初始生产的密码为空
[root@localhost ~]# mysqladmin -P 3309 -S /tmp/mysql3309.sock -u root -p password 123456

登录验证:

[root@localhost ~]# mysql -u root -p -S /tmp/mysql3308.sock
[root@localhost ~]# mysql -u root -p -S /tmp/mysql3309.sock

2.5 mysqld_multi的启动关闭管理

启动关闭所有:

[root@localhost ~]# mysqld_multi start
[root@localhost ~]# mysqld_multi stop

单个:

[root@localhost ~]# mysqld_multi start 3308
[root@localhost ~]# mysqld_multi start 3309
[root@localhost ~]# mysqld_multi stop 3308
[root@localhost ~]# mysqld_multi stop 3309

查询状态:

[root@localhost ~]# mysqld_multi report
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值