MySQL多实例安装部署

14 篇文章 1 订阅
2 篇文章 0 订阅

MySQL多实例概念

多实例就是在一台服务器上同时开启多个不同的数据库服务端口(例如3306、3307),同时运行多个MYSQL服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务。

优点

MySQL多实例,可以通过多个端口向用户提供服务,充分利用一台服务器的闲置资源

缺点

无论是多少个端口提供服务,但始终使用的是一台服务器的资源,所以当访问量过大时,依然存在高并发的问题



安装部署

我这里以创建四个MySQL实例为例,监听的端口分别是3307,3308,3309,3310

1.解压MySQL安装包(获取地址在下边)

tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

移动并重命名

mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql

2.在mysql目录下创建data目录

cd /usr/local/mysql
mkdir data

3.在data目录下创建四个实例的主目录

cd /usr/local/mysql/data/
mkdir {3307,3308,3309,3310}

4.添加mysql组和mysql组用户

groupadd mysql
useradd -r -g mysql mysql

5.初始化四个实例,分别执行

cd /usr/local/mysql/bin/
./mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/3307/ --user=mysql
./mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/3308/ --user=mysql
./mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/3309/ --user=mysql
./mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/3310/ --user=mysql

6.为四个实例创建主配置文件my.cnf

cd /usr/local/mysql/data/3306
vi my.cnf

主配置文件内容

[client]
port=3307
socket=/usr/local/mysql/data/3307/mysql.sock
default_character_set=utf8

[mysqld]
port=3307
socket=/usr/local/mysql/data/3307/mysql.sock
datadir=/usr/local/mysql/data/3307
log-error=/usr/local/mysql/data/3307/error.log
pid-file=/usr/local/mysql/data/3307/mysql.pid
character_set_server=utf8
lower_case_table_names=1
autocommit=1

替换不同实例配置文件中的目录名

在vi或vim编辑器中执行命令:%s/被替换的目录名/要替换的目录名/g 如:
在这里插入图片描述

注意:要在每个实例的主目录中为每个实例都创建主配置文件,且目录名要和实例端口号对应


7.启动实例

cd /usr/local/mysql/bin/
./mysqld_safe --defaults-file=/usr/local/mysql/data/3307/my.cnf &

在这里插入图片描述

./mysqld_safe --defaults-file=/usr/local/mysql/data/3308/my.cnf &
./mysqld_safe --defaults-file=/usr/local/mysql/data/3309/my.cnf &
./mysqld_safe --defaults-file=/usr/local/mysql/data/3310/my.cnf &

查看四个实例进程状态

ps -ef | grep mysql

可以看到,四个端口的MySQL实例都启动成功
在这里插入图片描述

8.修改数据库密码和赋予远程登录权限

这里我以端口号为3307的实例为例,其他实例只需修改命令中的端口号就可以了

cd /usr/local/mysql/bin/
# ./mysql -u用户名 -p -P端口 -h地址
./mysql -uroot -p -P3307 -h127.0.0.1

没有密码直接回车


执行命令修改密码

alter user 'root'@'localhost' identified by '密码';

授予远程登录权限

grant all privileges on *.* to root@'%' identified by '密码';

远程连接测试

别忘记要先关闭防火墙
在这里插入图片描述
在这里插入图片描述

到这里MySQL多实例的安装部署就完成了,手动撒花


有不对的地方还请指出呀,我们一起进步[嘻嘻]


MySQL安装包获取地址:https://pan.baidu.com/s/1sroOMqqbgibKotA6h7fypw
提取码:exl7


相关文章:

MySQL集群部署(使用多个MySQL实例模拟)

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值