下面是“linux下多个mysql5.7.19(tar.gz)安装图文教程”的完整攻略:
简介
在 Linux 操作系统中,如果需要同时使用多个 MySQL 数据库,我们可以通过安装多个 MySQL 版本的方式来实现。这里提供的是在 linux 下使用源码安装的方式来安装多个 MySQL5.7.19 数据库的详细攻略。
准备工作
在安装多个 MySQL 数据库之前,需要先安装依赖的软件包和工具。你可以用以下命令来安装:
yum -y install make cmake gcc-c++ bison ncurses-devel perl gcc autoconf automake zlib* fiex* libxml* libmcrypt* libtool-ltdl* libjpeg* libpng* libwebp* libzip* gmp-devel libevent-devel
下载 MySQL 源码
从 MySQL 官方网站 https://dev.mysql.com/downloads/mysql/ 下载 MySQL 5.7.19 的源码包,并放在指定的目录中。这里以 /usr/local/src
目录为例,你也可以选择其他目录。
cd /usr/local/src
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz
编译安装 MySQL
在开始编译和安装 MySQL 之前,建议先通过以下命令,安装一些必要的库和工具:
yum -y install libaio libaio-devel
安装之后,可以使用以下命令进行编译和安装:
# 解压安装包
tar zxvf mysql-5.7.19.tar.gz
cd mysql-5.7.19
# 编译和安装到指定目录
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.7.19 \
-DMYSQL_DATADIR=/database/mysql5.7.19/data \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci
(make && make install)
# 设置 mysql 数据库文件夹权限
groupadd mysql
useradd -s /sbin/nologin -g mysql mysql
chown -R mysql:mysql /usr/local/mysql5.7.19/
chmod -R 755 /usr/local/mysql5.7.19/
这会将 MySQL 编译安装到 /usr/local/mysql5.7.19
目录中,并创建一个用于启动 MySQL 服务的 mysql 用户和 mysql 组。你可以根据需要,修改上述命令中的安装路径、数据目录等参数。
配置 MySQL
在安装完成之后,需要对 MySQL 进行一些简单的配置,以确保 MySQL 正确运行。在 /usr/local/mysql5.7.19
目录中,有一个配置文件 my.cnf
,可以对其进行修改。如下所示:
[mysqld]
basedir=/usr/local/mysql5.7.19
datadir=/database/mysql5.7.19/data
port=3306
character_set_server=utf8
max_allowed_packet=512MB
# 省略其他配置项
修改完成后,可以启动 MySQL 服务:
cd /usr/local/mysql5.7.19
bin/mysqld --defaults-file=/usr/local/mysql5.7.19/my.cnf &
执行以上命令后,需要输入 root 用户的密码才能启动 MySQL 服务。如果启动成功,可以使用以下命令连接到数据库:
/usr/local/mysql5.7.19/bin/mysql -uroot -p
输入 root 用户的密码后,就可以看到 MySQL 控制台。
示例说明
示例一:在一台服务器上安装两个 MySQL 数据库
在一台服务器上安装两个 MySQL 数据库,需要分别指定不同的端口和数据目录。具体操作如下:
- 下载 MySQL 源码包,解压到
/usr/local/src
目录中; - 分别为两个 MySQL 数据库创建数据目录:
cd /database
mkdir mysql5.7.19_1 mysql5.7.19_2 - 安装第一个 MySQL 数据库:
cd /usr/local/src/mysql-5.7.19
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.7.19_1 \
-DMYSQL_DATADIR=/database/mysql5.7.19_1/data \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
(make && make install) - 安装第二个 MySQL 数据库:
cd /usr/local/src/mysql-5.7.19
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.7.19_2 \
-DMYSQL_DATADIR=/database/mysql5.7.19_2/data \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
(make && make install) - 修改每个 MySQL 数据库的配置文件
my.cnf
,指定不同的端口和数据目录:
```
[mysqld]
basedir=/usr/local/mysql5.7.19_1
datadir=/database/mysql5.7.19_1/data
port=3306
character_set_server=utf8
max_allowed_packet=512MB
[mysqld2]
basedir=/usr/local/mysql5.7.19_2
datadir=/database/mysql5.7.19_2/data
port=3307
character_set_server=utf8
max_allowed_packet=512MB
6. 启动两个 MySQL 数据库:
/usr/local/mysql5.7.19_1/bin/mysqld --defaults-file=/usr/local/mysql5.7.19_1/my.cnf &
/usr/local/mysql5.7.19_2/bin/mysqld --defaults-file=/usr/local/mysql5.7.19_2/my.cnf &
```
示例二:在多台服务器上安装多个 MySQL 数据库
在多台服务器上安装多个 MySQL 数据库,需要分别指定不同的端口和数据目录。具体操作如下:
- 下载 MySQL 源码包,解压到
/usr/local/src
目录中; - 分别为 MySQL 数据库创建数据目录,并将数据目录挂载到 NFS(Network File System)中,以实现多台服务器共享数据;
- 安装每个 MySQL 数据库时,分别指定不同的端口和数据目录,如下所示:
```
# 服务器 A
cd /usr/local/src/mysql-5.7.19
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.7.19_A \
-DMYSQL_DATADIR=/nfs/mysql5.7.19_A/data \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
(make && make install)
# 服务器 B
cd /usr/local/src/mysql-5.7.19
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.7.19_B \
-DMYSQL_DATADIR=/nfs/mysql5.7.19_B/data \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
(make && make install)
# 服务器 C
cd /usr/local/src/mysql-5.7.19
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.7.19_C \
-DMYSQL_DATADIR=/nfs/mysql5.7.19_C/data \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
(make && make install)
4. 在每个 MySQL 数据库的配置文件 `my.cnf` 中,指定不同的端口和数据目录,并启动 MySQL 服务,如下所示:
# 服务器 A 的 my.cnf
[mysqld]
basedir=/usr/local/mysql5.7.19_A
datadir=/nfs/mysql5.7.19_A/data
port=3306
character_set_server=utf8
max_allowed_packet=512MB
# 服务器 B 的 my.cnf
[mysqld]
basedir=/usr/local/mysql5.7.19_B
datadir=/nfs/mysql5.7.19_B/data
port=3306
character_set_server=utf8
max_allowed_packet=512MB
# 服务器 C 的 my.cnf
[mysqld]
basedir=/usr/local/mysql5.7.19_C
datadir=/nfs/mysql5.7.19_C/data
port=3306
character_set_server=utf8
max_allowed_packet=512MB
```
以上步骤完成后,在多台服务器上都可以连接到不同的 MySQL 数据库了。
总结
通过上述步骤,我们就可以在 Linux 操作系统下安装多个 MySQL 数据库了。需要注意的是,安装多个 MySQL 数据库需要分别指定不同的端口和数据目录,以免相互冲突。另外,不同的 MySQL 数据库可以在同一台服务器上部署,也可以在多台服务器上分布式部署。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux下多个mysql5.7.19(tar.gz)安装图文教程 - Python技术站