-
Mysql多实例的概念:
- MySql多实例就是在一台机器上开启多个不同的服务端口,运行多个MySql服务进程,通过不同的socket监听不同的服务端口来提供各自的服务。
- 这些Mysql多实例共用一套MySql安装程序,使用不同的my.cnf(也可以相同)配置文件、启动程序(也可以相同)和数据文件。
-
MySql多实例的特点:
- 有效利用服务器资源,当单个服务器资源有剩余是,可以充分利用剩余的资源提供更多的服务
- 节约服务器资源
- 缺点:资源互相抢占问题,当某个服务实例,服务并发很高时或者开启慢查询时,会消耗更多的内存,cpu,磁盘IO资源,导致服务器上的其他实例提供服务的质量下降
-
部署mysql多实例的两种方式:
- 第一种:是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便
- 第二种:通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,优点是管理起来很方便,集中管理
-
多实例的部署:
- 创建各实例数据存放的目录:
- mkdir -p /data/330{7,8,9}/data
-
初始化三套数据:
- mysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --basedir=/usr/local/mysql
- mysqld --initialize-insecure --user=mysql --datadir=/data/3308/data --basedir=/usr/local/mysql
- mysqld --initialize-insecure --user=mysql --datadir=/data/3309/data --basedir=/usr/local/mysql
-
配置systemd管理多实例:
- cd /etc/systemd/system
- cp mysqld.service mysqld3307.service
- cp mysqld.service mysqld3308.service
- cp mysqld.service mysqld3309.service
- vim mysqld3307.service
- 修改为:ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
- vim mysqld3308.service
- 修改为:ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
- vim mysqld3309.service
- 修改为:ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
- 授权:chown -R mysql:mysql /data/*
-
启动:
- systemctl start mysqld3307.service
- systemctl start mysqld3308.service
- systemctl start mysqld3309.service
-
查看各个实例的端口是否启动:
- netstat -anpt | grep 330
- 登录多实例的方法:
- mysql -uroot -p -S /data/3307/mysql.sock
- 创建各实例数据存放的目录:
2.Mysql 多实例的部署和应用
努力转型的IT小王2024-04-12 12:32
相关推荐
Nturmoils7 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT渣波11 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码Jim6001 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障GreatSQL1 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测倔强的石头_4 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战云技纵横4 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待沉默王二4 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?冬奇Lab5 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite