2.Mysql 多实例的部署和应用

  • 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 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
典学长编程3 小时前
数据库Oracle从入门到精通!第四天(并发、锁、视图)
数据库·oracle
积跬步,慕至千里3 小时前
clickhouse数据库表和doris数据库表迁移starrocks数据库时建表注意事项总结
数据库·clickhouse
极限实验室4 小时前
搭建持久化的 INFINI Console 与 Easysearch 容器环境
数据库
星辰离彬4 小时前
Java 与 MySQL 性能优化:Java应用中MySQL慢SQL诊断与优化实战
java·后端·sql·mysql·性能优化
白仑色4 小时前
Oracle PL/SQL 编程基础详解(从块结构到游标操作)
数据库·oracle·数据库开发·存储过程·plsql编程
程序猿小D6 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的个人财务管理系统,推荐!
java·数据库·mysql·spring·毕业论文·ssm框架·个人财务管理系统
钢铁男儿7 小时前
C# 接口(什么是接口)
java·数据库·c#
__风__7 小时前
PostgreSQL kv(jsonb)存储
数据库·postgresql
轩情吖7 小时前
Qt的第一个程序(2)
服务器·数据库·qt·qt creator·qlineedit·hello world·编辑框