linux下多个mysql5.7.19(tar.gz)安装图文教程

下面是“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 数据库,需要分别指定不同的端口和数据目录。具体操作如下:

  1. 下载 MySQL 源码包,解压到 /usr/local/src 目录中;
  2. 分别为两个 MySQL 数据库创建数据目录:
    cd /database
    mkdir mysql5.7.19_1 mysql5.7.19_2
  3. 安装第一个 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)
  4. 安装第二个 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)
  5. 修改每个 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 数据库,需要分别指定不同的端口和数据目录。具体操作如下:

  1. 下载 MySQL 源码包,解压到 /usr/local/src 目录中;
  2. 分别为 MySQL 数据库创建数据目录,并将数据目录挂载到 NFS(Network File System)中,以实现多台服务器共享数据;
  3. 安装每个 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技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • redis中数据库个数以及设置使用哪个数据库

    redis中默认有16个数据库,查询方式如下: 127.0.0.1:6379> config get databases 1) “databases” 2) “16” 在某些场景下,可能多个应用同时使用一个redis,那我们希望不同应用的redis数据是隔离的,这时就可以采用设置不同redis数据库的方式,在springboot整合redis中配置如下…

    Redis 2023年4月16日
    00
  • linux NFS安装配置及常见问题、/etc/exports配置文件、showmount命令

    Linux NFS安装配置及常见问题攻略 安装NFS服务 在CentOS系统中,使用以下命令安装nfs-utils工具: yum install nfs-utils 启动NFS服务: systemctl start nfs-server 设置开机自启动NFS服务: systemctl enable nfs-server 配置NFS服务 编辑/etc/expo…

    database 2023年5月21日
    00
  • 在Linux上使用VirtualBox的命令行管理界面的方法讲解

    在Linux上使用VirtualBox的命令行管理界面可以简化虚拟机的管理。下面是使用命令行方式管理VirtualBox的方法及示例说明。 安装VirtualBox命令行工具 在Linux上,VirtualBox命令行工具可以通过软件包管理器进行安装: sudo apt-get install virtualbox 安装完成后,即可使用VirtualBox命…

    database 2023年5月22日
    00
  • Redis集群详解

    Redis集群详解 简介 Redis集群可以扩展Redis的数据集大小,并提高了读取和写入的性能。Redis集群将所有的数据分散放置到多个Redis节点中维护,通过读写分离实现更好的效果。在Redis集群中,如果一个节点出现问题,其他节点可以自动接管它的工作,保证Redis集群的高可用性。 Redis集群的搭建 安装Redis Redis的安装可以参考官方文…

    database 2023年5月18日
    00
  • sql删除重复数据的详细方法

    SQL删除重复数据通常包括以下步骤: 了解数据表结构 在准备删除重复数据之前,我们需要对数据表的结构有一定的了解。需要查看数据表的所有列及其数据类型,并且需要知道哪些列包含了重复数据,才能确定删除重复数据的方法。 查找重复数据 使用SQL语句查询所有重复的行。一个简单的方法是使用GROUP BY子句和HAVING子句来查找具有相同值的行。 例如,假设我们的数…

    database 2023年5月21日
    00
  • MySQL 数据查重、去重的实现语句

    当我们在处理大量数据时,经常会遇到数据重复或者需要去除重复数据的情况。MySQL 作为一种常用的数据库管理软件,提供了多种方法去重,本文将会讲解三种 MySQL 数据查重、去重的实现语句。 一、使用 Distinct 去重 Distinct 可以去除 SELECT 关键字之后所选结果集中的重复数据。Distinct 只返回不同的值,并且返回值的顺序为第一次出…

    database 2023年5月22日
    00
  • MySQL设置事务自动提交(开启和关闭)

    MySQL默认情况下是自动提交事务的,即每一个SQL语句执行后,都会自动提交这个事务。但是,有时候我们需要手动进行事务提交或事务回滚。 MySQL设置事务自动提交开启方法: 1. 通过命令行方式开启自动提交 在命令行中输入以下命令: mysql> SET autocommit = 1; 这个命令将启用自动提交事务功能。 2. 通过配置文件方式开启自动提…

    MySQL 2023年3月10日
    00
  • MySQL中JSON字段数据类型详解

    MySQL中JSON字段数据类型详解 简介 MySQL中5.7版本以后引入的JSON数据类型,可以将JSON格式的数据存储在JSON数据类型字段中。该数据类型是基于标准的JSON格式的文本存储,提供了JSON格式的解析和函数操作。使用JSON数据类型可以大大减少操作和查询JSON数据的麻烦,并且提高了处理效率。 创建JSON类型字段 我们可以在MySQL数据…

    database 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部