MySQL,作为开源数据库领域的佼佼者,以其高效、可靠和灵活的特点,赢得了广泛的认可和应用
对于 Linux 发行版之一的 CentOS,通过源码包(tar 包)安装 MySQL不仅能够获得最新的功能和性能优化,还能根据具体需求进行高度定制化配置
本文将详细介绍如何在 CentOS 上从 tar 包安装 MySQL,确保每一步都精准无误,为您的系统奠定坚实的数据管理基础
一、准备工作 1. 系统环境检查 首先,确认您的 CentOS 系统版本
虽然大部分步骤适用于大多数 CentOS 版本,但特定依赖和配置可能会有所不同
使用以下命令查看系统版本: bash cat /etc/centos-release 2. 安装必要依赖 MySQL 的编译和安装依赖于一系列开发工具和库文件
在正式开始之前,确保安装了这些依赖项: bash sudo yum groupinstall Development Tools -y sudo yum install cmake gcc-c++ ncurses-devel bison -y 这些工具包括编译器、链接器、CMake 构建工具以及 MySQL编译所需的库文件
3. 创建用户和组 出于安全考虑,建议为 MySQL创建一个专用的用户和组: bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 这里,`-r` 选项表示创建一个系统账户,`-s /bin/false` 防止该用户登录系统
二、下载和解压 MySQL 源码包 1.访问 MySQL官方网站 前往【MySQL官方网站】(https://dev.mysql.com/downloads/mysql/),选择适合的 MySQL 版本(例如,社区版)
根据您的操作系统架构(x86_64 或其他),下载对应的 tar.gz 源码包
2. 下载源码包 使用 wget 或 curl 命令下载源码包,例如: bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx.tar.gz 请将`xx`替换为具体的次版本号
3. 解压源码包 将下载的 tar.gz 文件解压到指定目录,通常选择`/usr/local/src`: bash sudo tar -zxvf mysql-8.0.xx.tar.gz -C /usr/local/src 解压后,进入解压目录: bash cd /usr/local/src/mysql-8.0.xx 三、编译和安装 MySQL 1. 创建构建目录 在源码目录下创建一个用于构建的二进制文件目录: bash mkdir build cd build 2. 运行 CMake 配置 使用 CMake 配置构建参数
这里是一个基本的配置示例,您可以根据需要调整: bash cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_BOOST=boost -DWITH_SSL=system -`-DCMAKE_INSTALL_PREFIX` 指定 MySQL 的安装目录
-`-DMYSQL_DATADIR` 指定数据文件的存储位置
-`-DSYSCONFDIR` 指定配置文件的存放目录
-`-DWITH_BOOST` 如果需要,指定 Boost 库的位置(可以是预安装的 Boost 或源码包中的 boost 目录)
-`-DWITH_SSL`启用 SSL 支持,这里使用系统自带的 SSL 库
3.编译和安装 配置完成后,开始编译过程: bash make sudo make install 编译过程可能需要一些时间,具体取决于您的系统性能
安装完成后,MySQL 的可执行文件和库文件将被复制到指定的安装目录
四、配置 MySQL 1.初始化数据库 在安装目录下初始化数据库: bash cd /usr/local/mysql sudo bin/mysqld --initialize --user=mysql 注意记录初始化过程中生成的临时密码,后续首次登录时需要用到
2. 设置目录权限 确保 MySQL 用户有权访问其工作目录: bash sudo chown -R mysql:mysql /usr/local/mysql sudo chown -R mysql:mysql /usr/local/mysql/data 3. 配置系统服务 为 MySQL创建一个 systemd 服务单元文件,以便可以像其他系统服务一样管理 MySQL
创建文件`/etc/systemd/system/mysqld.service`,并添加以下内容: ini 【Unit】 Description=MySQL Server After=network.target After=syslog.target 【Service】 User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf PIDFile=/usr/local/mysql/data/mysqld.pid LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 确保`/etc/my.cnf` 是您 MySQL 配置文件的正确路径,或者根据实际情况调整
4. 启动 MySQL 服务 重新加载 systemd 配置,并启动 MySQL 服务: bash sudo systemctl daemon-reload sudo systemctl start mysqld 设置 MySQL 服务开机自启: bash sudo systemctl enable mysqld 五、安全配置和初始登录 1.查找临时密码 在 MySQL 日志文件中查找初始化时生成的临时密码
通常,日志文件位于`/usr/local/mysql/data/hostname.err`,其中`hostname` 是您的系统主机名
使用以下命令查找密码: bash sudo grep temporary password /usr/local/mysql/data/your-hostname.err 2.首次登录并更改密码 使用临时密码登录 MySQL: bash /usr/local/mysql/bin/mysql -u root -p 登录后,立即更改 root 密码,并遵循安全建议设置强密码: sql ALTER USER root@localhost IDENTIFIED BY NewStrongPassword!; 3. 运行安全脚本 MySQL 提供了一个安全安装脚本,可以帮助您完成一系列安全配置,如删除测试数据库、禁止匿名用户登录、删除 root 的远程登录权限等: bash /usr/local/mysql/bin/mysql_secure_installation 按照提示完成安全配置
六、总结 通过从 tar 包安装 MySQL,您不仅获得了最新版本的数据库管理系统,还能够在编译过程中根据实际需求进行