• ADADADADAD

    怎么在同一台服务器上安装多个MySQL[ mysql数据库 ]

    mysql数据库 时间:2024-11-25 13:35:44

    作者:文/会员上传

    简介:

    一、安装前的准备工作在进行MySQL多实例的安装前,需要进行以下准备工作:准备多个MySQL的安装包,可以从MySQL官网下载适合自己环境的版本进行下载:https://dev.mysql.com/downloa

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    一、安装前的准备工作

    在进行MySQL多实例的安装前,需要进行以下准备工作:

      准备多个MySQL的安装包,可以从MySQL官网下载适合自己环境的版本进行下载:https://dev.mysql.com/downloads/

      准备多个MySQL数据目录,可以通过创建不同的目录来支持不同的MySQL实例,例如:/data/mysql1、/data/mysql2 等。

      针对每个MySQL实例,配置一个独立的MySQL用户,该用户拥有对应的MySQL安装路径和数据目录的权限。

    二、基于二进制包安装多个MySQL实例

    以下是基于二进制包安装多个MySQL实例的操作步骤:

      解压MySQL安装包并重命名

    将多个MySQL安装包解压后,可以将其重命名为不同的名称以方便区分,例如:mysql1、mysql2等。

    $ tar -zxvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.gz
    $ mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql1
    $ tar -zxvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.gz
    $ mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql2

      初始化数据目录

    每个MySQL实例都需要独立的数据目录,需要使用mysql_install_db命令初始化。以下是初始化mysql1和mysql2实例的命令:

    $ cd mysql1
    $ bin/mysqld --initialize --user=mysql --basedir=/share/opt/mysql1 --datadir=/data/mysql1
    $ cd ../mysql2
    $ bin/mysqld --initialize --user=mysql --basedir=/share/opt/mysql2 --datadir=/data/mysql2

      安装MySQL服务

    对于每个MySQL实例,需要使用mysqld_safe命令安装MySQL服务,以下是安装mysql1和mysql2实例的命令:

    $ cp support-files/mysql.server /etc/init.d/mysql1
    $ cp support-files/mysql.server /etc/init.d/mysql2
    $ chmod +x /etc/init.d/mysql1
    $ chmod +x /etc/init.d/mysql2
    $ chkconfig --add mysql1
    $ chkconfig --add mysql2
    $ service mysql1 start
    $ service mysql2 start

      配置MySQL实例

    对于每个MySQL实例,需要独立的配置文件my.cnf,可以在MySQL的安装目录下创建一个my.cnf文件,以下是my.cnf文件的示例:

    [mysqld]
    datadir=/data/mysql1
    socket=/share/tmp/mysql1.sock
    port = 3306
    user=mysql
    log-error=/data/mysql1/mysql.err
    pid-file=/share/tmp/mysql1.pid

    以下是mysql2实例的配置

    [mysqld2]
    datadir=/data/mysql2
    socket=/share/tmp/mysql2.sock
    port = 3307
    user=mysql
    log-error=/data/mysql2/mysql.err
    pid-file=/share/tmp/mysql2.pid

      配置MySQL用户

    使用以下命令创建MySQL用户并授予对应的目录权限:

    $ useradd -r -g mysql -s /bin/false mysql1
    $ useradd -r -g mysql -s /bin/false mysql2
    $ chown -R mysql:mysql /data/mysql1
    $ chown -R mysql:mysql /data/mysql2
    $ chown -R mysql:mysql /share/opt/mysql1
    $ chown -R mysql:mysql /share/opt/mysql2

    三、基于Docker容器安装多个MySQL实例

      准备Docker环境

    需要先在服务器上安装Docker环境,并拉取MySQL的Docker镜像,以下是拉取最新版本MySQL镜像的命令:

    $ docker pull mysql/mysql-server:latest

      启动MySQL容器

    可以通过启动多个MySQL容器来实现多实例的需求,可以通过指定不同的端口、数据卷和配置文件来区分不同的实例。以下是启动两个不同的MySQL实例的示例命令:

    $ docker run --name=mysql1 -d \
    -e MYSQL_ROOT_PASSWORD=your_password \
    -p 3306:3306 \
    -v /data/mysql1:/var/lib/mysql \
    -v /share/opt/mysql1:/etc/mysql \
    mysql/mysql-server:latest
    $ docker run --name=mysql2 -d \
    -e MYSQL_ROOT_PASSWORD=your_password \
    -p 3307:3306 \
    -v /data/mysql2:/var/lib/mysql \
    -v /share/opt/mysql2:/etc/mysql \
    mysql/mysql-server:latest

      配置MySQL实例

    可以在不同的数据卷里分别创建不同的配置文件my.cnf,然后分别挂载到不同的容器中。以下是my.cnf的示例:

    以下是mysql1实例的配置

    [mysqld]
    datadir = /var/lib/mysql
    socket = /var/run/mysqld/mysqld.sock

    注意:该设置只对MySQL 5.7或之前版本生效

    symbolic-links = 0

    自定义的MySQL配置

    [mysqld]
    datadir = /var/lib/mysql
    socket = /var/run/mysqld/mysqld.sock
    port = 3306
    user = mysql
    log-error = /var/lib/mysql/mysql.err
    pid-file = /var/run/mysqld/mysqld.pid

    以下是mysql2实例的配置

    [mysqld2]
    datadir = /var/lib/mysql
    socket = /var/run/mysqld/mysqld.sock
    symbolic-links = 0

    自定义的MySQL配置

    [mysqld2]
    datadir = /var/lib/mysql
    socket = /var/run/mysqld/mysqld.sock
    port = 3307
    user = mysql
    log-error = /var/lib/mysql/mysql.err
    pid-file = /var/run/mysqld/mysqld.pid

      使用多个MySQL实例

    在配置完多个MySQL实例后,可以通过连接到对应的端口、使用对应的数据库实例名和配置对应的用户来使用多个MySQL实例:

    mysql -h localhost -u username1 -p -P 3306 -D database1
    mysql -h localhost -u username2 -p -P 3307 -D database2

    怎么在同一台服务器上安装多个MySQL.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: 服务器mysql