怎么装两个mysql
时间 : 2023-03-15 17:42:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

安装两个MySQL可以满足一些特殊的需求,比如在不同的应用场景中使用不同版本的MySQL或者在同一台服务器上使用多个MySQL实例。以下是安装两个MySQL的步骤。

1. 软件准备

在安装过程中,需要用到MySQL的安装包。你可以从MySQL官网下载适合你的系统版本的安装包。同时,还需要创建两个存储MySQL数据的目录,例如:

mkdir /usr/local/mysql1/data

mkdir /usr/local/mysql2/data

2. 安装第一个MySQL

将下载的MySQL安装包解压到指定目录:

tar -zxvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql1/

进入解压后的目录,将MySQL的安装目录移动到 /usr/local/ 目录下:

cd /usr/local/mysql1/

mv mysql-8.0.25-linux-glibc2.12-x86_64 mysql

进入MySQL目录并进行安装:

cd mysql

./bin/mysqld --defaults-file=./my.cnf --initialize

启动MySQL服务:

./bin/mysqld_safe --defaults-file=./my.cnf &

默认的MySQL端口是 3306,可以使用命令检查MySQL是否启动:

netstat -tunlp | grep 3306

如果显示类似以下内容,则表示MySQL已经成功启动:

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 12345/mysqld

3. 安装第二个MySQL

将MySQL的安装包解压到指定目录:

tar -zxvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql2/

进入解压后的目录,将MySQL的安装目录移动到 /usr/local/ 目录下:

cd /usr/local/mysql2/

mv mysql-8.0.25-linux-glibc2.12-x86_64 mysql

进入MySQL目录并进行安装:

cd mysql

./bin/mysqld --defaults-file=./my.cnf --initialize

启动MySQL服务:

./bin/mysqld_safe --defaults-file=./my.cnf &

检查MySQL是否启动:

netstat -tunlp | grep 3307

如果显示类似以下内容,则表示第二个MySQL已经成功启动:

tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 12346/mysqld

4. 配置MySQL

第一个MySQL默认的配置文件在 /usr/local/mysql1/mysql/my.cnf 下,第二个MySQL默认的配置文件在 /usr/local/mysql2/mysql/my.cnf 下。你可以根据需要修改相应的配置文件来满足你的需求。

安装两个MySQL可以满足一些特殊的需求,但也存在一些问题。比如,使用多个MySQL实例会增加服务器的负担,同时你也需要更多的资源来维护这些实例。如果只是简单的应用场景,使用一个MySQL就足够了。

在一个服务器上安装多个 MySQL 实例可以为不同的应用程序提供独立的数据库服务以及更灵活的管理。以下是在 Linux 系统上安装多个 MySQL 实例的步骤。

## 1. 下载 MySQL 安装包

首先需要下载 MySQL 安装包,可以在 [MySQL 官方网站](https://dev.mysql.com/downloads/mysql/) 下载到最新版本的 MySQL。

## 2. 解压安装包

解压下载的压缩包,可以使用以下命令:

tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz

## 3. 创建目录

创建多个实例使用的目录,例如 `mysql1` 和 `mysql2`。使用以下命令:

mkdir /data/mysql1

mkdir /data/mysql2

## 4. 复制配置文件

复制 MySQL 的配置文件模板到每个实例的目录。使用以下命令:

cp -r ./mysql-8.0.23-linux-glibc2.12-x86_64/mysql-test /data/mysql1

cp -r ./mysql-8.0.23-linux-glibc2.12-x86_64/mysql-test /data/mysql2

## 5. 修改配置文件

针对每个实例修改配置文件,例如 `my.cnf`:

vi /data/mysql1/my.cnf

在文件中添加以下内容:

[mysqld]

basedir=/data/mysql1

datadir=/data/mysql1/data

socket=/tmp/mysql1.sock

port=3307

其中,`basedir` 是安装目录,`datadir` 是数据目录,`socket` 是 Unix 套接字文件路径,`port` 是 MySQL 端口。

对于第二个实例:

vi /data/mysql2/my.cnf

在文件中添加以下内容:

[mysqld]

basedir=/data/mysql2

datadir=/data/mysql2/data

socket=/tmp/mysql2.sock

port=3308

## 6. 安装 MySQL

使用以下命令安装 MySQL:

./mysql-8.0.23-linux-glibc2.12-x86_64/bin/mysqld \

--defaults-file=/data/mysql1/my.cnf \

--initialize-insecure

其中,`--defaults-file` 指定配置文件路径,`--initialize-insecure` 表示跳过密码初始化,避免安全问题。

对于第二个实例:

./mysql-8.0.23-linux-glibc2.12-x86_64/bin/mysqld \

--defaults-file=/data/mysql2/my.cnf \

--initialize-insecure

## 7. 启动 MySQL

使用以下命令启动 MySQL:

./mysql-8.0.23-linux-glibc2.12-x86_64/bin/mysqld \

--defaults-file=/data/mysql1/my.cnf \

--user=root \

--pid-file=/data/mysql1/mysqld.pid \

--socket=/tmp/mysql1.sock \

--port=3307 \

--daemonize

其中,`--user` 是指定 MySQL 进程使用的用户,`--pid-file` 是指定 PID 文件路径,`--socket` 是指定 Unix 套接字文件路径,`--port` 是指定 MySQL 端口,`--daemonize` 是后台运行 MySQL。

对于第二个实例:

./mysql-8.0.23-linux-glibc2.12-x86_64/bin/mysqld \

--defaults-file=/data/mysql2/my.cnf \

--user=root \

--pid-file=/data/mysql2/mysqld.pid \

--socket=/tmp/mysql2.sock \

--port=3308 \

--daemonize

## 8. 测试连接

使用以下命令测试连接:

./mysql-8.0.23-linux-glibc2.12-x86_64/bin/mysql \

--socket=/tmp/mysql1.sock \

--port=3307 \

-U root

成功登录后,就可以使用第一个实例的 MySQL 了。同样方式测试第二个实例。

## 结论

在一个服务器上安装多个 MySQL 实例既可以提供独立的数据库服务,也可以更灵活地管理多个不同应用的数据库。根据上面的步骤,在 Linux 系统上安装多个 MySQL 实例就是以上面的方式创建多个实例,并以不同的参数配置文件启动 MySQL。

注意,多个 MySQL 实例也会占用服务器的资源,需要根据服务器的可用资源数量和应用程序的需求来确定启动多少个实例。