CentOS离线安装MySQL在指定的目录下
MySQL是一种常用的关系型数据库管理系统,它可以在各种操作系统上运行。本文将介绍如何在CentOS操作系统下进行离线安装MySQL,并将其安装在指定的目录下。
准备工作
在开始安装之前,确保你已经获得了MySQL的安装包,以及CentOS操作系统。你可以从MySQL官方网站下载MySQL的压缩包(.tar.gz)并将其传输到CentOS服务器上。
安装步骤
-
解压MySQL压缩包到指定目录
首先,创建一个目录来存放MySQL的安装文件。你可以选择任意的目录,这里以
/opt/mysql
为例:```shell $ sudo mkdir /opt/mysql
然后,使用下面的命令解压MySQL的压缩包到指定的目录:
$ sudo tar -xzvf mysql-VERSION.tar.gz -C /opt/mysql
这里,
VERSION
是你下载的MySQL版本号,解压后将获得一个名为mysql-VERSION
的目录。 -
创建MySQL用户和组
为了安全起见,我们将创建一个专门用于运行MySQL的用户和组。使用以下命令创建一个名为
mysql
的用户和组:$ sudo groupadd mysql $ sudo useradd -r -g mysql -s /bin/false mysql
-
安装依赖软件包
在安装MySQL之前,还需要安装一些依赖的软件包。使用以下命令安装这些软件包:
$ sudo yum install -y cmake make gcc gcc-c++ bison ncurses-devel
-
编译和安装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的数据目录。 -
配置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
-
初始化MySQL
使用以下命令初始化MySQL:
$ sudo /opt/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data
这里,
--initialize-insecure
参数将初始化MySQL并创建一个空的数据目录。 -
启动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: 编译和安