centos 7 部署两个 mysql 8.0.31(非常详细)

本文在一台 centos 7 机器上同时部署了两个 mysql 实例,其端口号分别为:3306、3307!

废话不多说,开干!!!

一、前期准备工作

1、mysql-boost-8.0.31.tar.gz 源码下载

下载地址:https://dev.mysql.com

2、配置阿里云镜像源

cpp 复制代码
cd /etc/yum.repos.d 
vi scl.repo 
 
# scl.repo文件内容如下:
 
[scl] 
name=CentOS-7 - SCLo sclo 
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/ 
gpgcheck=0 
enabled=1 

3、安装 gcc、cmake、Boost C++库、ncurses库、OpenSSL库

注意:需要cmake3,gcc-5.3以上;

安装命令如下:

cpp 复制代码
yum install devtoolset-7-gcc devtoolset-7-gcc-c++ 
source /opt/rh/devtoolset-7/enable 
gcc -v   //查看gcc版本
 
yum install epel* 
yum clean all 
yum makecache 
yum install cmake3 ncurses ncurses-devel bison openssl*

二、部署准备

1、将 mysql-boost-8.0.31.tar.gz,传输到 /usr/local/ 目录下,并进行解压

cpp 复制代码
tar zxvf mysql-boost-8.0.31.tar.gz

2、在 /usr/local/ 目录下创建多个 mysql 安装目录

cpp 复制代码
# 端口号为 3306 的 mysql 安装目录
mkdir mysql3306

# 端口号为 3307 的 mysql 安装目录
mkdir mysql3307

3、 进入到 cd mysql-8.0.31 目录下,创建 3306、3307 的编译目录

cpp 复制代码
cd mysql-8.0.31

mkdir bld3306

mkdir bld3307

三、部署第一个 mysql(端口号为3306)

1、编译第一个 MySQL 实例

cpp 复制代码
cd bld3306

# -DMYSQL_TCP_PORT=3306 为指定端口号
# /usr/local/mysql3306 为 mysql3306 安装目录
cmake3 -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DCMAKE_INSTALL_PREFIX=/usr/local/mysql3306 -DWITH_BOOST=../boost ..

make -j4

2、安装第一个 MySQL 实例

cpp 复制代码
make install

3、配置第一个 MySQL 配置文件

cpp 复制代码
vim /etc/my3306.cnf

# 文件内容如下


[client] 
socket=/usr/local/mysql3306/data/mysql.sock 
 
[mysqld] 
datadir=/usr/local/mysql3306/data 
socket=/usr/local/mysql3306/data/mysql.sock 
 
#Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 
log-error=/usr/local/mysql3306/data/mysqld.log 
pid-file=/usr/local/mysql3306/data/mysqld.pid 
server-id=1
port=3306

#是否只读,1代表只读,0代表读写
read-only=0

#忽略的数据,指不需要同步的数据库
#binlog-ignore-db=mysql
#指定同步的数据库
#binlog-do-db=db01

4、初始化第一个 MySQL 实例

cpp 复制代码
# 进入安装目录
cd /usr/local/mysql3306

# 初始化
bin/mysqld --defaults-file=/etc/my3306.cnf --initialize --user=mysql3306 --port=3306

5、启动第一个 MySQL 实例

cpp 复制代码
bin/mysqld_safe --user=mysql3306 --port=3306 &

6、设置第一个 MySQL 实例的 root 密码

cpp 复制代码
# 执行下述命令并使用初始密码进入 mysql
bin/mysql -u root -p -P 3306


ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

7、完成第一个 MySQL 实例部署

四、部署第二个 mysql (端口号为3307)

1、编译第二个 MySQL 实例

cpp 复制代码
cd bld3307

# -DMYSQL_TCP_PORT=3307 为指定端口号
# /usr/local/mysql3307 为 mysql3307 安装目录
cmake3 -DMYSQL_TCP_PORT=3307 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DCMAKE_INSTALL_PREFIX=/usr/local/mysql3307 -DWITH_BOOST=../boost ..

make -j4

2、安装第二个 MySQL 实例

cpp 复制代码
make install

3、配置第二个 MySQL 配置文件

cpp 复制代码
vim /etc/my3307.cnf

# 文件内容如下


[client] 
socket=/usr/local/mysql3307/data/mysql.sock 
 
[mysqld] 
datadir=/usr/local/mysql3307/data 
socket=/usr/local/mysql3307/data/mysql.sock 
 
#Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 
log-error=/usr/local/mysql3307/data/mysqld.log 
pid-file=/usr/local/mysql3307/data/mysqld.pid 
server-id=2
port=3307

#是否只读,1代表只读,0代表读写
read-only=0

#忽略的数据,指不需要同步的数据库
#binlog-ignore-db=mysql
#指定同步的数据库
#binlog-do-db=db01

4、初始化第二个 MySQL 实例

cpp 复制代码
# 进入安装目录
cd /usr/local/mysql3307

# 初始化
bin/mysqld --defaults-file=/etc/my3307.cnf --initialize --user=mysql3307 --port=3307

5、启动第二个 MySQL 实例

cpp 复制代码
bin/mysqld_safe --user=mysql3307 --port=3307 &

6、设置第一个 MySQL 实例的 root 密码

cpp 复制代码
# 执行下述命令并使用初始密码进入 mysql
bin/mysql -u root -p -P 3307


ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

7、完成第二个 MySQL 实例部署

相关推荐
我不会起名字32212 小时前
MySQL 深分页 LIMIT 1000000 卡死:3 种改写与 4 组实测对比
mysql·性能优化·索引·分页·limit
编程火箭车13 小时前
MySQL 拥抱 AI:向量、RAG、AutoML 全进了数据库
数据库·mysql·ai编程·向量数据库·rag·automl·mysql9
o_oer14 小时前
mysql type
mysql
花卷持续成长14 小时前
慢SQL的整体优化思路
后端·mysql
鱼很腾apoc14 小时前
【MySQL】第3期 索引、事务与视图系统详解
linux·mysql·事务·索引·dml·视图·macc
misty youth16 小时前
Navicat与PHPstudy小皮
mysql·adb·php·navicat
毕业设计70316 小时前
(免费领源码)SSM董家湾线上点餐系统04682- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
java·redis·mysql·tomcat·maven·mybatis·ssm
leaf9z17 小时前
阿里云rds查看所有库大小
mysql·阿里云
Yyyyyy~17 小时前
【Mysql】表的操作
数据库·mysql
Q264336502317 小时前
【有源码】基于SpringBoot+Vue的居民健康体检与慢病干预管理系统-面向智慧医疗的体检预约与健康知识服务平台
java·vue.js·spring boot·mysql·毕业设计·javaweb·课程设计