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

 更新时间:2021年12月25日 10:50:45   作者:我是菜鸟131  
在一台服务器上,运行多个数据库服务,这些服务进程通过不同的socket监听不同的服务端口来提供各自的服务,这篇文章主要介绍了MySQL多实例的配置场景分析,需要的朋友可以参考下

MySQL多实例

多实例概述

什么是多实例:

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

为什么要配置多实例

  • 节约运维成本
  • 提高硬件利用率

多实例的应用场景

  • 资金比较紧张的公司;
  • 并发访问不是特别大的业务;

配置多实例

1.安装软件

具体操作:

解压软件、修改目录名、修改PATH路径

如果在已有数据库服务的机器上运行多实例,先查看数据库服务的版本是否支持多实例,如果不支持需要停掉服务,安装能支持多实例的数据库版本

接下来安装提供多实例服务的软件

下面演示的版本为MySQL5.7.36,使用二进制安装,其余安装方式请看MySQL的安装方式

groupadd -r -g 306 mysql 
useradd -g 306 -r -u 306 mysql
tar -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.sock2
port       = 3307
pid-file   = /data/3307/mysqld.pid
datadir    = /data/3307
log-error  = /data/3307/mysqld.log

mkdir -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

在这里插入图片描述

4.查看服务状态

ss -nultp | grep 3306
ss -nultp | grep 3307

在这里插入图片描述

5.使用初始密码连接服务

客户端访问

本机连接

使用初始密码连接

修改本机登录密码

#mysql -uroot -p'初始密码' -S sock文件
#mysql>alter user root@"localhost" identified by "新密码";
#连接第一个数据库实例测试
/usr/local/mysql/bin/mysql -uroot -p'' -S /tmp/mysql.sock1
show databases;
alter user root@"localhost" identified by "123456";
show databases;
exit
#连接第二个数据库实例测试
mysql -uroot -p'' -S /tmp/mysql.sock2
show databases;
alter user root@"localhost" identified by "123456";
show databases;
exit

在这里插入图片描述
在这里插入图片描述

使用新密码再次登录验证

在这里插入图片描述

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的从库Seconds_Behind_Master延迟总结

    MySQL的从库Seconds_Behind_Master延迟总结

    这篇文章主要介绍了MySQL的从库Seconds_Behind_Master延迟的相关资料,需要的朋友可以参考下
    2021-08-08
  • MySQL核心参数优化文件my.ini实现

    MySQL核心参数优化文件my.ini实现

    本文主要介绍了MySQL核心参数优化文件my.ini实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • centos7.3 安装mysql5.7.18的详细教程

    centos7.3 安装mysql5.7.18的详细教程

    这篇文章主要介绍了centos7.3 安装mysql5.7.18的详细教程,需要的朋友可以参考下
    2017-06-06
  • Mysql GROUP BY查询每组某值最大的一条数据

    Mysql GROUP BY查询每组某值最大的一条数据

    这篇文章主要介绍了Mysql GROUP BY查询每组某值最大的一条数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • MySQL中分页优化的实例详解

    MySQL中分页优化的实例详解

    这篇文章主要介绍了MySQL中分页优化的实例详解,分页优化是MySQL优化当中的重点,需要的朋友可以参考下
    2015-05-05
  • mysql多个left join连接查询用法分析

    mysql多个left join连接查询用法分析

    这篇文章主要介绍了mysql多个left join连接查询用法,结合实例形式对比分析了mysql使用left join进行连接查询相关操作技巧与注意事项,需要的朋友可以参考下
    2018-07-07
  • MySQL忽略表名大小写的2种方法实现

    MySQL忽略表名大小写的2种方法实现

    在 MySQL 中,默认情况下表名是大小写敏感的,本文主要介绍了MySQL忽略表名大小写的2种方法实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 深入解析MySQL中的Redo Log、Undo Log和Binlog

    深入解析MySQL中的Redo Log、Undo Log和Binlog

    本文详细介绍了MySQL中的RedoLog、UndoLog和Binlog的背景、业务场景、功能、底层实现原理以及使用措施,通过Java代码示例展示了如何与这些日志进行交互,进一步深化了对MySQL日志系统的理解,理解并合理使用这些日志,可以有效地提升数据库的性能和可靠性
    2024-10-10
  • Mysql用户权限分配实战项目详解

    Mysql用户权限分配实战项目详解

    用户是数据库的使用者和管理者,MySQL通过用户的设置来控制数据库操作人员的访问与操作范围,这篇文章主要给大家介绍了关于Mysql用户权限分配实战项目的相关资料,需要的朋友可以参考下
    2023-12-12
  • MySQL 的 21 个规范、优化最佳实践!

    MySQL 的 21 个规范、优化最佳实践!

    每一个好习惯都是一笔财富,本文分 SQL 后悔药,SQL 性能优化,SQL 规范优雅三个方向,分享写 SQL 的 21 个好习惯和最佳实践
    2020-12-12

最新评论