MySQL多实例的配置应用实例场景是怎样的(mysql,开发技术)

时间:2024-05-04 12:08:15 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

MySQL多实例

多实例概述

什么是多实例:

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

为什么要配置多实例
  • 节约运维成本

  • 提高硬件利用率

多实例的应用场景
  • 资金比较紧张的公司;

  • 并发访问不是特别大的业务;

配置多实例

1.安装软件

具体操作:

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

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

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

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

groupadd-r-g306mysqluseradd-g306-r-u306mysqltar-zxvfmysql-5.7.36-linux-glibc2.12-x86-64.tar.gzmv/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-Rmysql:mysql/data/330{6,7}

socket文件:自己访问自己的数据库服务时,通过socket文件传递参数

3.启动服务

管理多实例

  • 启动服务

mysqld_multi start 实例编号 #启动服务

  • 停止服务

mysqld_multi --user=root --password=密码 stop 实例编号

/usr/local/mysql/bin/mysqld_multistart3306#首次启动初始化#也可以使用这个命令来初始化/usr/local/mysql/bin/mysqld--initialize--user=mysql--basedir=/usr/local/mysql--datadir=/data/3307#用这个命令初始化之后还需要在使用启动服务/usr/local/mysql/bin/mysqld_multistart3307输入绝对路径太麻烦,可以写入环境变量vim/etc/exportPATH=$PATH:/usr/local/mysql/bin/source/etc/profile.d/mysql.sh#然后就可以写短指令mysqld_multistart3307

MySQL多实例的配置应用实例场景是怎样的

4.查看服务状态

ss-nultp|grep3306ss-nultp|grep3307

MySQL多实例的配置应用实例场景是怎样的

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

客户端访问

本机连接

使用初始密码连接

修改本机登录密码

#mysql-uroot-p'初始密码'-Ssock文件#mysql>alteruserroot@"localhost"identifiedby"新密码";#连接第一个数据库实例测试/usr/local/mysql/bin/mysql-uroot-p''-S/tmp/mysql.sock1showdatabases;alteruserroot@"localhost"identifiedby"123456";showdatabases;exit#连接第二个数据库实例测试mysql-uroot-p''-S/tmp/mysql.sock2showdatabases;alteruserroot@"localhost"identifiedby"123456";showdatabases;exit

MySQL多实例的配置应用实例场景是怎样的
MySQL多实例的配置应用实例场景是怎样的

使用新密码再次登录验证

MySQL多实例的配置应用实例场景是怎样的

6.停止多实例

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

MySQL多实例的配置应用实例场景是怎样的

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:MySQL多实例的配置应用实例场景是怎样的的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎么用C#表达式树Expression动态创建表达式下一篇:

7 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18