尽管许多 Linux 发行版提供了通过包管理器(如 apt、yum 等)安装 MySQL 的简便方法,但有时候我们可能需要从源代码或 tar 包手动安装 MySQL,以获得更高的定制性或满足特定的需求
本文将详细介绍如何在 Linux 系统上从 tar 包手动安装 MySQL,确保步骤清晰且具有说服力
一、准备工作 在开始安装之前,请确保你的系统满足以下前提条件: 1.Linux 发行版:本文适用于大多数常见的 Linux 发行版,如 CentOS、Ubuntu、Debian 等
但需要注意的是,某些命令和依赖可能因发行版不同而有所差异
2.用户权限:你需要有 root 用户权限或使用 sudo 命令来执行安装过程中的必要步骤
3.依赖包:MySQL 安装需要一些基本的依赖包,例如 cmake、gcc、make、libaio 等
确保这些包在系统上已安装
二、下载 MySQL tar 包 1.访问 MySQL 官方网站: 前往 MySQL 官方网站(https://dev.mysql.com/downloads/mysql/),选择合适的 MySQL 版本(例如,MySQL Community Server)
2.选择操作系统: 在页面上选择你的 Linux 发行版和版本,系统将推荐合适的安装包
3.下载 tar 包: 选择 tar.gz 格式的安装包进行下载
通常文件名类似于`mysql-x.x.xx-linux-glibc2.12-x86_64.tar.gz`
4.上传安装包: 将下载的安装包上传到目标 Linux 服务器,通常可以通过 SCP、SFTP 或直接下载到服务器上
三、安装依赖包 在开始安装 MySQL 之前,确保系统上安装了所有必要的依赖包
以下是一些常见 Linux 发行版的依赖包安装命令: 对于 CentOS/RHEL: bash sudo yum update -y sudo yum install -y cmake gcc gcc-c++ make libaio libaio-devel numactl-devel 对于 Ubuntu/Debian: bash sudo apt update sudo apt install -y cmake build-essential libaio-dev libnuma-dev 四、解压 tar 包 1.创建安装目录: 通常,我们将 MySQL 安装到`/usr/local/mysql` 目录下
首先,创建该目录: bash sudo mkdir -p /usr/local/mysql sudo chown -R mysql:mysql /usr/local/mysql 假设你有一个名为 mysql 的用户和组 2.解压 tar 包: 使用 tar 命令解压下载的安装包到指定目录: bash tar -zxvf mysql-x.x.xx-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql --strip-components=1 这里`--strip-components=1` 选项用于移除解压后的顶级目录,使 MySQL 文件直接位于`/usr/local/mysql` 下
五、初始化 MySQL 数据目录 1.初始化数据目录: 在 MySQL 5.7 及更高版本中,使用`mysqld --initialize` 命令来初始化数据目录
对于旧版本,使用`mysql_install_db`
bash cd /usr/local/mysql sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 注意:初始化过程中会生成一个临时密码,请务必记录下来,后续首次登录 MySQL 时需要使用
2.检查数据目录权限: 确保数据目录的权限正确: bash sudo chown -R mysql:mysql /usr/local/mysql/data 六、配置 MySQL 1.创建配置文件: 在`/etc` 目录下创建一个名为`my.cnf` 的 MySQL 配置文件,或从默认位置复制一个进行修改
bash sudo cp support-files/my-default.cnf /etc/my.cnf sudo nano /etc/my.cnf 在配置文件中,你可以根据需要修改`basedir` 和`datadir` 等参数
2.设置系统服务: 为了方便管理 MySQL 服务,可以创建一个 systemd 服务文件
bash sudo nano /etc/systemd/system/mysqld.service 添加以下内容(根据你的 MySQL 安装路径进行调整): 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 LimitNOFILE = 5000 【Install】 WantedBy=multi-user.target 3.重新加载 systemd 配置: bash sudo systemctl daemon-reload 4.启动 MySQL 服务: bash sudo systemctl start mysqld 5.设置开机自启: bash sudo systemctl enable mysqld 七、安全配置 1.首次登录: 使