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

在一个服务器上同时安装两个不同版本的MySQL是一个比较常见的需求,这样可以方便地测试不同版本的MySQL。下面介绍一种可能的方案,供参考。

第一步,下载MySQL软件包。

从MySQL官网下载MySQL的压缩包,可以根据需要选择不同的版本。这里以MySQL 5.7和8.0版本为例,下载链接如下:

MySQL 5.7:https://dev.mysql.com/downloads/mysql/5.7.html

MySQL 8.0:https://dev.mysql.com/downloads/mysql/8.0.html

第二步,解压MySQL软件包。

将两个MySQL压缩包分别解压到不同的目录下,例如:

MySQL 5.7解压到:/usr/local/mysql/mysql-5.7

MySQL 8.0解压到:/usr/local/mysql/mysql-8.0

第三步,创建MySQL配置文件。

在每个MySQL目录下创建一个my.cnf配置文件,用于配置不同的MySQL实例。例如:

在/usr/local/mysql/mysql-5.7目录下创建my.cnf文件,内容如下:

[mysqld]

basedir=/usr/local/mysql/mysql-5.7

datadir=/usr/local/mysql/mysql-5.7/data

socket=/tmp/mysql-5.7.sock

port=3307

在/usr/local/mysql/mysql-8.0目录下创建my.cnf文件,内容如下:

[mysqld]

basedir=/usr/local/mysql/mysql-8.0

datadir=/usr/local/mysql/mysql-8.0/data

socket=/tmp/mysql-8.0.sock

port=3308

其中,basedir表示MySQL的安装目录,datadir表示数据存储目录,socket表示通信socket文件的路径,port表示端口号。

第四步,初始化MySQL实例。

先分别启动5.7和8.0版本的mysqld服务,使用以下命令:

/usr/local/mysql/mysql-5.7/bin/mysqld --defaults-file=/usr/local/mysql/mysql-5.7/my.cnf --initialize-insecure

/usr/local/mysql/mysql-8.0/bin/mysqld --defaults-file=/usr/local/mysql/mysql-8.0/my.cnf --initialize-insecure

其中,--defaults-file选项指定MySQL配置文件的路径。

初始化完成后,分别启动MySQL实例,使用以下命令:

/usr/local/mysql/mysql-5.7/bin/mysqld_safe --defaults-file=/usr/local/mysql/mysql-5.7/my.cnf &

/usr/local/mysql/mysql-8.0/bin/mysqld_safe --defaults-file=/usr/local/mysql/mysql-8.0/my.cnf &

第五步,验证MySQL实例。

可以使用以下命令验证两个MySQL实例是否启动成功:

/usr/local/mysql/mysql-5.7/bin/mysql -uroot -h127.0.0.1 -P3307

/usr/local/mysql/mysql-8.0/bin/mysql -uroot -h127.0.0.1 -P3308

其中,-h选项指定MySQL实例所在的主机,-P选项指定MySQL实例的端口号。

至此,两个不同版本的MySQL实例已经成功安装并启动。需要注意的是,如果服务器的资源较为有限,同时运行两个MySQL实例会比较消耗资源,最好在测试完成后将其中一个实例关闭或卸载,以避免不必要的资源浪费。

在同一台服务器上安装两个不同版本的 MySQL 通常很常见。理由可能是项目需要使用不同的 MySQL 版本,或者需要在不同的 MySQL 实例之间进行数据转移和比较。

以下是安装两个 MySQL 实例的步骤:

1. 下载 MySQL 安装包

从 MySQL 官方网站下载需要的两个版本的 MySQL 安装包。建议分别将它们解压到不同的目录中,例如 `/usr/local/mysql57` 和 `/usr/local/mysql80`。

2. 创建 MySQL 配置文件

为每个 MySQL 实例创建一个独立的配置文件。该配置文件应该包含以下设置:

[client]

port = 3306

socket = /tmp/mysql.sock

[mysqld]

port = 3306

socket = /tmp/mysql.sock

datadir = /var/lib/mysql

log-error = /var/log/mysql/error.log

pid-file = /var/run/mysql/mysql.pid

# 其他MySQL配置参数...

其中,需要为每个实例分配不同的端口号(例如:3306 和 3307),并为每个实例指定一个不同的 PID 文件和错误日志文件。

3. 启动 MySQL 实例

为每个 MySQL 实例启动进程。可以通过以下命令启动 MySQL 进程:

$ ./mysqld_safe --defaults-file=/usr/local/mysql57/my.cnf &

$ ./mysqld_safe --defaults-file=/usr/local/mysql80/my.cnf &

此处应该将配置文件 `my.cnf` 的路径替换为每个 MySQL 实例的正确路径。

4. 配置环境变量

为了方便在命令行中使用 MySQL,需要将其路径添加到 `$PATH` 环境变量中。可以将以下命令添加到 `~/.bashrc` 文件中:

export PATH="/usr/local/mysql57/bin:/usr/local/mysql80/bin:$PATH"

注意,此处应该将 `/usr/local/mysql57/bin` 和 `/usr/local/mysql80/bin` 替换为每个实例的正确路径。

5. 测试连接

启动 MySQL 进程后,可以使用以下命令测试连接到每个实例:

$ mysql -uroot -p -h 127.0.0.1 -P 3306

$ mysql -uroot -p -h 127.0.0.1 -P 3307

在这些命令中,需要使用正确的用户名、密码、主机和端口号。

现在,就可以在同一台服务器上安装两个不同版本的 MySQL 了。您可以为每个 MySQL 实例分别创建数据库和用户,并在它们之间轻松地转移和比较数据。