本文在一台 centos 7 机器上同时部署了两个 mysql 实例,其端口号分别为:3306、3307!
废话不多说,开干!!!
一、前期准备工作
1、mysql-boost-8.0.31.tar.gz 源码下载
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 实例部署