当前位置:首页>Linux>Linux下二进制包安装MySQL

Linux下二进制包安装MySQL

  • 2026-10-11 08:44:59
Linux下二进制包安装MySQL

📦 第一阶段:准备环境与依赖

  1. 安装系统依赖

    # Debian/Ubuntusudo apt updatesudo apt install -y libaio1 libnuma1 libncurses5# CentOS/RHELsudo yum install -y libaio numactl-libs ncurses-compat-libs perl# 清理旧的缓存数据sudo yum clean all# 重新建立缓存sudo yum makecache
  2. 创建用户与目录我们需要创建运行用户,以及规划好安装目录和数据/日志目录。

    # 1. 创建 mysql 用户和组sudo groupadd mysql# 创建 mysql 用户,禁止登录 shell,不创建家目录sudo useradd -r -g mysql -s /bin/false -M mysql# 2. 创建目录结构# 安装目录sudo mkdir -p /usr/local/mysql# 数据目录sudo mkdir -p /data/mysql_data# 日志目录sudo mkdir -p /data/mysql_log# 运行文件目录 (用于存放 socket 和 pid 文件)sudo mkdir -p /var/run/mysqld
  3. 下载与解压这里以 MySQL 8.0.44 为例(请根据实际需求替换版本号)。

    cd /tmp# 下载 (如果链接失效,请去官网获取最新 Linux Generic 版本)sudo wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz# 解压sudo tar -xvf mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local/# 重命名sudo mv /usr/local/mysql-8.4.0-linux-glibc2.28-x86_64 /usr/local/mysql
  4. 赋予权限 (关键)注意:必须确保 mysql 用户对所有相关目录有读写权限。

    # 安装目录权限sudo chown -R mysql:mysql /usr/local/mysql# 数据目录权限sudo chown -R mysql:mysql /data/mysql_data# 日志目录权限sudo chown -R mysql:mysql /data/mysql_log# 运行目录权限sudo chown -R mysql:mysql /var/run/mysqld

⚙️ 第二阶段:编写配置文件

  1. 创建配置文件

    sudo vim /etc/my.cnf
  2. 粘贴以下内容请确保 basedir、datadir 等路径与你第一阶段创建的目录完全一致。

    [mysqld]# --- 基础路径配置 ---# 安装根目录basedir = /usr/local/mysql# 数据存放目录datadir = /data/mysql_data# 端口port = 3306# 用户user = mysql# --- 关键文件路径 ---# Socket 文件位置socket = /var/run/mysqld/mysqld.sock# PID 文件位置pid-file = /var/run/mysqld/mysqld.pid# 错误日志位置log-error = /data/mysql_log/error.log# --- 字符集与认证 ---character-set-server = utf8mb4collation-server = utf8mb4_unicode_cidefault-authentication-plugin = mysql_native_password# --- 性能与内存 (根据服务器配置适当调整) ---# 最大连接数max_connections = 1000[client]# 客户端连接配置,必须指定 socket,否则命令行登录会报错socket = /var/run/mysqld/mysqld.sockdefault-character-set = utf8mb4

🚀 第三阶段:初始化与服务配置

  1. 配置环境变量为了方便直接输入 mysql 命令。

    echo'export PATH=/usr/local/mysql/bin:$PATH' | sudo tee -a /etc/profilesource /etc/profile
  2. 执行初始化 (使用 --defaults-file)这里我们显式告诉 mysqld 使用刚才创建的配置文件。

    sudo /usr/local/mysql/bin/mysqld \  --defaults-file=/etc/my.cnf \  --initialize \  --user=mysql
    ❝

    注意:因为配置文件中已经写了 datadir,所以这里不需要再在命令行重复指定 --datadir。

  3. 获取临时密码初始化成功后,查看错误日志获取临时密码。

    sudo cat /data/mysql_log/error.log | grep "temporary password"

    记下那一行末尾的临时密码。

  4. 配置 Systemd 服务同样,在启动服务时也要强制指定配置文件。

    sudo vim /etc/systemd/system/mysqld.service

    粘贴以下内容:

    [Unit]Description=MySQL ServerAfter=network.target[Service]Type=forkingUser=mysqlGroup=mysql# 核心:强制指定配置文件启动ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnfPIDFile=/var/run/mysqld/mysqld.pidRestart=on-failureLimitNOFILE=65535[Install]WantedBy=multi-user.target
  5. 启动服务

    sudo systemctl daemon-reloadsudo systemctl start mysqldsudo systemctl enable mysqld

🔐 第四阶段:验证与权限

  1. 检查状态

    sudo systemctl status mysqld

    确保显示 active (running)。

  2. 登录并修改密码使用之前获取的临时密码登录。

    # 登录mysql -u root -p

    在 MySQL 命令行中执行:

    -- 修改密码ALTERUSER'root'@'localhost'IDENTIFIEDBY'你的新强密码';-- 创建允许远程连接的账号 (生产环境严禁直接使用 root 远程!建议新建专用用户)-- 语法:CREATE USER '用户名'@'主机' IDENTIFIED WITH 加密方式 BY '密码';CREATEUSER'root'@'%'IDENTIFIEDWITH mysql_native_password BY'YourNewPassword';-- 授权GRANTALLPRIVILEGESON *.* TO'root'@'%'WITHGRANTOPTION;-- 刷新权限FLUSHPRIVILEGES;-- 退出EXIT;

最新文章

随机文章