CentOS离线安装MySQL在指定的目录下

MySQL是一种常用的关系型数据库管理系统,它可以在各种操作系统上运行。本文将介绍如何在CentOS操作系统下进行离线安装MySQL,并将其安装在指定的目录下。

准备工作

在开始安装之前,确保你已经获得了MySQL的安装包,以及CentOS操作系统。你可以从MySQL官方网站下载MySQL的压缩包(.tar.gz)并将其传输到CentOS服务器上。

安装步骤

  1. 解压MySQL压缩包到指定目录

    首先,创建一个目录来存放MySQL的安装文件。你可以选择任意的目录,这里以/opt/mysql为例:

    ```shell
    $ sudo mkdir /opt/mysql
    

    然后,使用下面的命令解压MySQL的压缩包到指定的目录:

    $ sudo tar -xzvf mysql-VERSION.tar.gz -C /opt/mysql
    

    这里,VERSION是你下载的MySQL版本号,解压后将获得一个名为mysql-VERSION的目录。

  2. 创建MySQL用户和组

    为了安全起见,我们将创建一个专门用于运行MySQL的用户和组。使用以下命令创建一个名为mysql的用户和组:

    $ sudo groupadd mysql
    $ sudo useradd -r -g mysql -s /bin/false mysql
    
  3. 安装依赖软件包

    在安装MySQL之前,还需要安装一些依赖的软件包。使用以下命令安装这些软件包:

    $ sudo yum install -y cmake make gcc gcc-c++ bison ncurses-devel
    
  4. 编译和安装MySQL

    进入MySQL解压后的目录,并执行以下命令进行编译和安装:

    $ cd /opt/mysql/mysql-VERSION
    $ sudo cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/opt/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_SSL=system
    $ sudo make
    $ sudo make install
    

    这里,-DCMAKE_INSTALL_PREFIX指定了MySQL的安装目录,-DMYSQL_DATADIR指定了MySQL的数据目录。

  5. 配置MySQL

    首先,将MySQL的配置文件复制到/etc目录下:

    $ sudo cp /opt/mysql/mysql-VERSION/support-files/my-default.cnf /etc/my.cnf
    

    然后,编辑/etc/my.cnf文件,配置MySQL的相关参数,例如端口号、字符集等。

    最后,为MySQL的数据目录创建权限:

    $ sudo mkdir /opt/mysql/data
    $ sudo chown -R mysql:mysql /opt/mysql/data
    
  6. 初始化MySQL

    使用以下命令初始化MySQL:

    $ sudo /opt/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data
    

    这里,--initialize-insecure参数将初始化MySQL并创建一个空的数据目录。

  7. 启动MySQL

    最后,使用以下命令启动MySQL服务:

    $ sudo /opt/mysql/bin/mysqld_safe --user=mysql &
    

    现在,你可以通过访问localhost或者服务器的IP地址来连接MySQL了。

序列图

下面是一个使用Mermaid语法绘制的MySQL安装的序列图示例:

sequenceDiagram
    participant User
    participant Server
    participant MySQL

    User ->> Server: 下载MySQL压缩包
    User ->> Server: 传输到服务器
    User ->> Server: 解压MySQL压缩包到指定目录
    User ->> Server: 创建MySQL用户和组
    User ->> Server: 安装依赖软件包
    User ->> Server: 编译和安