mysql多实例多版本安装(5.7+5.8)报错记录

mysql多实例多版本安装(5.7+8.0)报错记录

报错记录

今天尝试在centos7上安装多实例mysql(5.7+8.0),安装过程中出现错误并得到解决,记录一下。

错误场景

在安装多实例的8.0版本时,由于不知原因的错误,在过程中遇到两个问题:
1. 在已知目标文件夹为空的情况下,初始化过程中报错,提示目标路径不为空。
2. 初始化数据库目录成功的情况下,没有生成对应的"mysql.sock**"文件,导致数据库无法启动。

解决方法

不使用mysqld对数据库进行初始化,利用mysqld_multi直接根据my.cof文件参数进行数据库初始化。

解决步骤

1. 修改my.cof文件中对应的参数,其中mysqld3版本与之前相同,mysqld80版本为8.0版本所以需要特别指定 basedir的路径。
[mysqld3]
server-id = 13
port = 3309
datadir = /data/testdata3
socket = /tmp/mysql.sock3

[mysqld80]
server-id = 18
port =3380
basedir = /usr/local/mysql80/
datadir = /data/testdata80
socket= /tmp/mysql.sock80
port = 3380

[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /usr/local/mysql/mysqld_multi.log
# skip_grant_tables
2. 重启mysql服务
service mysqld restart
3. 利用mysqld_multi直接初始化数据库
mysqld_multi start

根据上述指令操作完成后,多实例多版本的数据库全部初始化完成,5.7以上版本系统会自动设定初始密码,可以去到对应的error.log中查看,再登录数据库之后修改密码即可。

[root@iZuf6dyodvhcv910ay6a2cZ testdata80] mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running
MySQL server from group: mysqld3 is running
MySQL server from group: mysqld80 is running

总结

尚未找到无法直接初始化的原因,但是用此方法进行初始化的数据库可以正常使用,先做记录,后面如有发现再更新。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zczplus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值