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

在一台服务器上,运行多个数据库服务,这些服务进程通过不同的socket监听不同的服务端口来提供各自的服务,这篇文章主要介绍了MySQL多实例的配置场景分析,需要的朋友可以参考下

目录

  • mysql多实例

    • 多实例概述

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

mysql多实例

多实例概述

什么是多实例:

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

为什么要配置多实例

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

多实例的应用场景

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

配置多实例

1.安装软件

具体操作:

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

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

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

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

?

1

2

3

4

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文件、错误日志文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

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 实例编号

?

1

2

3

4

5

6

7

8

9

10

11

12

/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.查看服务状态

?

1

2

ss -nultp | grep 3306

ss -nultp | grep 3307

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

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

客户端访问

本机连接

使用初始密码连接

修改本机登录密码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#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

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

使用新密码再次登录验证

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

6.停止多实例

?

1

2

3

mysqld_multi –user=root –password=123456 stop 3306

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

ss -nultp | grep 3306

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

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

原文链接:https://blog.csdn.net/hahaxixi131/article/details/122137583

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/3405/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年 7月 19日 2:34:13
下一篇 2022年 7月 19日 2:34:27

软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!