mysql多实例部署

本文介绍了如何在一台服务器上部署多个MySQL实例,通过不同端口运行独立的服务进程,以充分利用硬件资源。多实例用于应对高并发场景,但也需要注意相互间性能的影响。详细步骤包括下载软件、创建用户和目录、初始化实例、配置my.cnf文件、启动实例、设置密码及开机自启。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql多实例部署

  • MySQL多实例就是在一台服务器上同时开启多个不同的服务端口(如:3306,3307),同时运行多个MySQL服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务。
  • 一般运用于公司的数据库来不及周转时使用
  • 多实例主要作用是:充分利用现有的服务器硬件资源,为不同的服务提供数据服务,但是如果某个实例并发比较高的,同样是会影响到其它实例的性能

软件下载

[root@host ~]# cd /usr/src/
[root@host src]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
--2021-05-10 06:06:59--  https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
正在解析主机 downloads.mysql.com (downloads.mysql.com)... 137.254.60.14
正在连接 downloads.mysql.com (downloads.mysql.com)|137.254.60.14|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz [跟随至新的 URL]
--2021-05-10 06:07:02--  https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
正在解析主机 cdn.mysql.com (cdn.mysql.com)... 104.97.24.228
正在连接 cdn.mysql.com (cdn.mysql.com)|104.97.24.228|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:661718255 (631M) [application/x-tar-gz]
正在保存至: “mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz”

mysql-5.7.33-linux-glibc2.12- 100%[==============================================>] 631.06M  9.29MB/s  用时 83s     

2021-05-10 06:08:29 (7.56 MB/s) - 已保存 “mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz” [661718255/661718255])
  • 创建用户和组,并将文件解压到指定目录
创建用户
[root@host src]# groupadd -r mysql
[root@host src]# useradd -M -s /sbin/nologin -g mysql mysql

解压软件至usr/local/
[root@host src]# tar xf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@host src]# ls /usr/local/
bin  etc  games  include  lib  lib64  libexec  mysql-5.7.33-linux-glibc2.12-x86_64  sbin  share  src
[root@host src]# cd /usr/local/
[root@host local]# ln -sv mysql-5.7.33-linux-glibc2.12-x86_64/ mysql
'mysql' -> 'mysql-5.7.33-linux-glibc2.12-x86_64/'
[root@host local]# ll
总用量 0
drwxr-xr-x. 2 root root   6 5月  18 2020 bin
drwxr-xr-x. 2 root root   6 5月  18 2020 etc
d
### MySQL 多实例主从部署指南 #### 准备工作 为了成功配置多个 MySQL 实例并实现主从复制,需先确认操作系统环境支持 MySQL 的安装。通常情况下,MySQL 可通过平台特定包来安装,并可能需要系统的特权访问权限[^1]。 #### 配置主服务器 对于主服务器而言,主要任务是在 `my.cnf` 或者 `mysqld.cnf` 文件中设置唯一的 `server-id` 参数以及启用二进制日志记录功能: ```ini [mysqld] server-id=1 log-bin=mysql-bin binlog-format=row ``` #### 创建用于复制的用户 创建一个专门用于同步数据的账户非常重要。出于安全考虑,在生产环境中应遵循数据库管理员(DBA)建议授予最小化权限而不是允许来自任何IP地址连接到 MySQL 服务[^2]: ```sql CREATE USER 'repl_user'@'slave_ip_address' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'slave_ip_address'; FLUSH PRIVILEGES; ``` 请注意替换 `'slave_ip_address'` 和密码为你自己的实际值。 #### 同步初始数据 在启动复制之前,应该让从库拥有最新的备份副本。可以采用物理拷贝文件的方式或者是逻辑导出导入的方法。如果表结构较为复杂,则推荐使用 Sqoop 工具执行一次性查询并将结果序列化地导入目标位置[^3]。 #### 设置从服务器参数 同样修改从服务器上的配置文件(`my.cnf`)中的 `[mysqld]` 节点部分: ```ini [mysqld] server-id=2 relay-log=mysql-relay-bin read-only=ON ``` 这里假设这是第二个实例;如果是更多数量的话,请相应调整 ID 编号。 #### 开始复制过程 最后一步就是在从机上指定主机信息并开启 IO/SQL 线程来进行实时的数据更新操作: ```bash CHANGE MASTER TO MASTER_HOST='master_host_name', MASTER_USER='repl_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='recorded_log_file_name', MASTER_LOG_POS=log_position; START SLAVE; ``` 以上命令会告诉 Slave 去哪个 Master 获取变更事件流,并指定了具体的 binlog 文件名及其偏移量作为起点。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值