CentOS 7搭建多实例MySQL8的详细教程(想要几个搞几个)

(编辑:jimmy 日期: 2024/12/27 浏览:2)

起因

最近项目上开始重构,可能会用到主从加读写分离的情况,就想先在本地搭一个出来试试效果,结果百度一搜出来一大堆,然而自己去踩坑的没几个,绝大多数都是去抄的别人的内容,关键是实际应用中还会出错,浏览器开了接近二十个标签页,试了好几个都有问题,完全用不了,时间浪费了不说,还会让你很憋屈,所以就自己搞。

一、准备

1、首先检查并清理系统中存在的mysql相关文件

# 检查系统中是否存在Mysql的文件
 find / -name mysql
 "text-align: center">CentOS 7搭建多实例MySQL8的详细教程(想要几个搞几个)

CentOS 7搭建多实例MySQL8的详细教程(想要几个搞几个)

# 在下载前先创建一个mysql用户,为什么要创建MySQL用户?
因为解压出来的mysql文件没有任何的属组,以及为了避免在配置、启动时MySQL不能读取某些文件
,所以建议使用mysql用户来运行mysql
 adduser mysql
 # 设置密码
 passwd mysql # 接下来输入两次密码
 "color: #ff0000">二、修改配置

接下来就是对MySQL进行配置,两个MySQL的配置其实是差不多的,只是说路径不同而已,在这儿我就只展示mysql_01的配置,mysql_02则将相应的路径替换成自己的路径即可。

1、自定义配置my.cnf

# 切换到mysql_01路径下
 cd ./mysql_01
 "htmlcode">
# 修改文件中的默认配置信息
 vim ./support-files/mysql.server
 # 将文件中的所有有关basedir和datadir的配置全部修改为当前的路径

如下图

CentOS 7搭建多实例MySQL8的详细教程(想要几个搞几个)

以及修改该文件中加载的MySQL配置文件路径,修改为刚才创建的my.cnf文件,如下图,修改完成后,保存退出。

CentOS 7搭建多实例MySQL8的详细教程(想要几个搞几个)

同样也需要修改support-files下的另一个文件

# 修改support-files文件夹下的mysqld_multi.server文件
 vim ./support-files/mysqld_multi.server
 "" src="/UploadFiles/2021-04-09/2020052515384560.jpg">

三、初始化安装及启动服务

1、初始化安装

# 切换到mysql_01的根目录
 cd /home/mysql/mysql_01/
 "htmlcode">
# 后台启动当前mysql_01的mysql服务,还是需要去指定配置文件,因为在配置文件中我们设置了一个socket参数,
只有按照这个配置文件去启动,才会按照socket配置的路径去生成,否则会自动生成在/tmp/mysql.sock,
如果mysql_02也是这么生成,则会形成覆盖,在连接时造成只能连接一个服务,甚至报错。
 ./bin/mysqld_safe --defaults-file=./my.cnf &
 "" src="/UploadFiles/2021-04-09/2020052515384561.jpg">

四、连接数据库与修改密码

# 通过上面可以看到mysql服务已经启动,那么就可以连接MySQL了
 ./bin/mysql --socket=./mysql.sock -uroot -p # 输入初始密码
 "root";

CentOS 7搭建多实例MySQL8的详细教程(想要几个搞几个)

同样配置之后,启动mysql_02,效果如下

CentOS 7搭建多实例MySQL8的详细教程(想要几个搞几个)

以上就是MySQL_01的配置,同样的MySQL_02和这个一致,只需要将对应的目录修改为自己的文件路径即可。当安装上多个实例之后,就可以进行主从复制、读写分离等相关配置。

总结