MySQL多实例的配置应用实例场景

目录

  • MySQL多实例
    • 多实例概述
      • 什么是多实例:
      • 为什么要配置多实例
      • 多实例的应用场景
      • 配置多实例

MySQL多实例
多实例概述

什么是多实例: 在一台服务器上,运行多个数据库服务,这些服务进程通过不同的socket监听不同的服务端口来提供各自的服务;

为什么要配置多实例
  • 节约运维成本
  • 提高硬件利用率

多实例的应用场景
  • 资金比较紧张的公司;
  • 并发访问不是特别大的业务;

配置多实例 1.安装软件
具体操作:
解压软件、修改目录名、修改PATH路径
如果在已有数据库服务的机器上运行多实例,先查看数据库服务的版本是否支持多实例,如果不支持需要停掉服务,安装能支持多实例的数据库版本
接下来安装提供多实例服务的软件
下面演示的版本为MySQL5.7.36,使用二进制安装,其余安装方式请看MySQL的安装方式
groupadd -r -g 306 mysql useradd -g 306 -r -u 306 mysqltar -zxvf mysql-5.7.36-linux-glibc2.12-x86-64.tar.gz mv /root/mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql

2.配置文件
主配置文件/etc/my.cnf
  • 每个实例要有独立:数据库目录、端口
  • socket文件、pid文件、错误日志文件
vim /etc/my.cnf[mysqld_multi]#启动多实例mysqld= /usr/local/mysql/bin/mysqld_safe#指定进程文件路径mysqladmin = /usr/local/mysql/bin/mysqladmin#指定管理命令路径user= root#指定进程用户#pass= MySQL@123#可以不指定密码,在初始化的时候也会出现密码[mysqld3306]#实例进程名称,3306是服务编号socket= /tmp/mysql.sock1#指定sock文件的路径和名称port= 3306#指定端口pid-file= /data/3306/mysqld.pid#进程文件pid号文件按位置datadir= /data/3306#数据库目录,最好提前创建log-error= /data/3306/mysqld.log#错误日志位置[mysqld3307]socket= /tmp/mysql.sock2port= 3307pid-file= /data/3307/mysqld.piddatadir= /data/3307log-error= /data/3307/mysqld.logmkdir -p /data/330{6..7}chown -R mysql:mysql /data/330{6,7}

socket文件:自己访问自己的数据库服务时,通过socket文件传递参数
3.启动服务
管理多实例
  • 启动服务
mysqld_multi start 实例编号 #启动服务
  • 停止服务
mysqld_multi --user=root --password=密码 stop 实例编号
/usr/local/mysql/bin/mysqld_multi start 3306#首次启动初始化#也可以使用这个命令来初始化/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307#用这个命令初始化之后还需要在使用启动服务/usr/local/mysql/bin/mysqld_multi start 3307输入绝对路径太麻烦,可以写入环境变量vim /etc/export PATH=$PATH:/usr/local/mysql/bin/source /etc/profile.d/mysql.sh#然后就可以写短指令mysqld_multi start 3307

MySQL多实例的配置应用实例场景
文章图片

4.查看服务状态
ss -nultp | grep 3306ss -nultp | grep 3307

MySQL多实例的配置应用实例场景
文章图片

5.使用初始密码连接服务
客户端访问
本机连接
使用初始密码连接
修改本机登录密码
#mysql -uroot -p'初始密码' -S sock文件#mysql>alter user root@"localhost" identified by "新密码"; #连接第一个数据库实例测试/usr/local/mysql/bin/mysql -uroot -p'' -S /tmp/mysql.sock1show databases; alter user root@"localhost" identified by "123456"; show databases; exit#连接第二个数据库实例测试mysql -uroot -p'' -S /tmp/mysql.sock2show databases; alter user root@"localhost" identified by "123456"; show databases; exit

MySQL多实例的配置应用实例场景
文章图片

MySQL多实例的配置应用实例场景
文章图片

使用新密码再次登录验证
MySQL多实例的配置应用实例场景
文章图片

6.停止多实例
mysqld_multi --user=root--password=123456 stop 3306#mysqld_multi --user=root--password=123456 stop如果不写实例号,就会停止数据库用户为root密码为123456的实例ss -nultp | grep 3306

MySQL多实例的配置应用实例场景
文章图片

【MySQL多实例的配置应用实例场景】到此这篇关于MySQL多实例的配置应用实例场景的文章就介绍到这了,更多相关MySQL多实例内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读