
然而,在某些场景下,比如测试环境、多租户架构或是需要隔离不同应用数据的场合,我们可能需要在同一台服务器上运行多个MySQL实例
这不仅能够有效利用硬件资源,还能提供更高的数据隔离性和灵活性
本文将深入探讨如何在Linux系统上,特别是基于Red Hat系列发行版(如CentOS、Fedora等),利用YUM包管理器安装并配置多个MySQL数据库实例
一、准备工作 在开始之前,请确保您的系统满足以下基本要求: 1.操作系统:Red Hat Enterprise Linux(RHEL)、CentOS、Fedora或其他基于RPM的Linux发行版
2.用户权限:拥有root权限或能够使用sudo执行管理员命令
3.网络连接:能够访问YUM仓库,以便下载MySQL软件包
4.磁盘空间:足够的磁盘空间用于存储多个MySQL实例的数据文件和日志文件
二、安装第一个MySQL实例 首先,我们需要安装MySQL Server
虽然理论上可以通过手动编译安装多个版本或实例,但使用YUM可以大大简化这一过程,并确保依赖关系得到正确处理
1.更新系统软件包: bash sudo yum update -y 2.添加MySQL Yum Repository: 由于默认的YUM仓库中可能不包含最新版本的MySQL,我们通常需要添加官方的MySQL Yum Repository
bash sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm 注意:链接中的版本号可能随时间变化,请访问MySQL官方网站获取最新链接
3.禁用默认MySQL模块(可选): 如果系统中存在多个MySQL模块,为避免冲突,可以禁用默认的MySQL模块
bash sudo yum-config-manager --disable mysql80-community sudo yum-config-manager --enable mysql80-community-dmr 如果需要使用开发预览版 4.安装MySQL Server: bash sudo yum install mysql-community-server -y 5.启动并设置MySQL服务开机自启: bash sudo systemctl start mysqld sudo systemctl enable mysqld 6.获取临时root密码: MySQL安装完成后,会在`/var/log/mysqld.log`文件中生成一个临时root密码
bash sudo grep temporary password /var/log/mysqld.log 7.安全配置MySQL: 使用临时密码登录MySQL,并执行`mysql_secure_installation`脚本进行安全配置,包括设置新root密码、删除匿名用户、禁止远程root登录等
三、安装并配置第二个MySQL实例 为了在同一台服务器上安装第二个MySQL实例,我们需要创建一个全新的数据目录、配置文件和服务单元文件,以避免与第一个实例冲突
1.创建新数据目录和配置文件: bash sudo mkdir -p /var/lib/mysql2 /etc/my.cnf.d/mysql2 2.复制并修改配置文件: 从默认配置文件中复制一份到新位置,并根据需要进行修改,特别是`datadir`、`socket`、`port`等关键参数
bash sudo cp /etc/my.cnf /etc/my.cnf.d/mysql2/my.cnf sudo sed -i s/^datadir=./datadir = /var/lib/mysql2/ /etc/my.cnf.d/mysql2/my.cnf sudo sed -i s/^socket=./socket = /var/lib/mysql2/mysql.sock/ /etc/my.cnf.d/mysql2/my.cnf sudo sed -i s/^port=./port = 3307/ /etc/my.cnf.d/mysql2/my.cnf 3.准备数据目录: 使用`mysql_install_db`命令初始化新数据目录
注意,MySQL5.7及以上版本使用`mysqld --initialize`
bash sudo mysqld --initialize --user=mysql --datadir=/var/lib/mysql2 4.创建服务单元文件: 在`/etc/systemd/system/`目录下创建一个新的服务单元文件,如`mysql2.service`
bash sudo nano /etc/systemd/system/mysql2.service 内容示例: ini 【Unit】 Description=MySQL Server2 After=network.target After=syslog.target 【Service】 User=mysql Group=mysql ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf.d/mysql2/my.cnf PIDFile=/var/run/mysqld/mysqld2.pid LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 5.启动并设置服务开机自启: bash sudo systemctl daemon-reload sudo systemctl start mysql2 sudo systemctl enable mysql2 6.安全配置第二个MySQL实例: 类似地,通过新实例的socket文件登录MySQL(可能需要指定`--socket`参数),并执行安全配置
四、管理多个MySQL实例 管理多个MySQL实例时,需要注意以下几点: -端口冲突:确保每个实例使用不同的端口
-数据目录隔离:每个实例有独立的数据目录
-配置文件区分:通过不同的配置文件管理每个实例的设置
-服务管理:使用systemd服
MySQL访问缓慢,开启竟需漫长等待!
一键Yum安装,打造多MySQL数据库环境
Win764位系统MySQL下载链接速览
MySQL左链接高效去重技巧
如何快速确认MySQL数据库服务是否已开启?
MySQL数据库URL配置指南
Oracle数据迁移至MySQL指南
打造便携版:配置免安装MySQL文件夹指南
MySQL安装:是否需要设置路径?详细指南
Linux系统安装MySQL指南
安装MySQL常遇报错,解决方案来了!
MySQL安装成功检测指南
无安装包?轻松安装MySQL教程
计算机二级MySQL安装视频教程
MySQL首次安装默认密码揭秘
安装MySQL:高效优化指南
MySQL安装教程:如何设置与确认端口号
Server2008上安装MySQL8教程
Linux下MySQL5.6安装指南