Linux下tar包如何安装MySQL?

在Linux系统中使用tar包安装MySQL是一种灵活的方式,尤其适合需要自定义安装路径或特定版本的场景,以下是详细的安装步骤及注意事项,涵盖环境准备、依赖安装、配置优化及安全设置等内容。

linux下tar包如何安装mysql

安装前准备工作

检查系统环境

确保Linux系统满足MySQL的基本要求:内核版本建议3.10+(CentOS 7+或Ubuntu 18.04+),磁盘剩余空间至少1GB(数据目录建议单独分区),内存至少2GB(推荐4GB+),可通过以下命令检查:

uname -r  # 查看内核版本
df -h     # 查看磁盘空间
free -h   # 查看内存

卸载旧版本MySQL

若系统已安装MySQL,需先彻底卸载,避免冲突:

# CentOS系统
rpm -qa | grep mysql | xargs rpm -e --nodeps
# Ubuntu系统
dpkg -l | grep mysql | xargs apt-get -y purge
# 删除残留目录
rm -rf /var/lib/mysql /usr/lib/mysql /etc/my.cnf

安装依赖库

MySQL运行需要依赖一些基础库,根据系统类型安装:

  • CentOS系统
    yum install -y libaio-devel numactl-devel openssl-devel cmake gcc-c++ make
  • Ubuntu系统
    apt update && apt install -y libaio1 numactl libncurses5 libssl-dev cmake g++ make

下载并解压MySQL tar包

下载MySQL二进制tar包

从MySQL官网(https://dev.mysql.com/downloads/mysql/)下载“Linux – Generic”版本的tar.gz包(如mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz),使用wget命令下载:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz

解压并移动到安装目录

# 解压xz格式(若为tar.gz则直接用tar -zxf)
xz -d mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar
# 移动到/usr/local/并创建软链接
mv mysql-8.0.33-linux-glibc2.12-x86_64 /usr/local/mysql
ln -s /usr/local/mysql /usr/local/mysql-8.0.33

创建MySQL用户和组

为安全考虑,避免使用root用户运行MySQL:

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

初始化MySQL数据目录

创建数据目录并设置权限

mkdir -p /data/mysql  # 数据存储目录
chown -R mysql:mysql /data/mysql /usr/local/mysql
chmod -R 750 /usr/local/mysql

初始化MySQL数据库

进入MySQL安装目录的bin目录,执行初始化命令:

linux下tar包如何安装mysql

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

初始化完成后,终端会输出临时root密码(类似root@localhost: <临时密码>),需记录此密码,后续登录时使用。

配置MySQL配置文件

创建主配置文件my.cnf

vim /etc/my.cnf
```根据实际需求调整参数):  
```ini
[mysqld]
# 基础路径配置
basedir = /usr/local/mysql
datadir = /data/mysql
socket = /tmp/mysql.sock
port = 3306
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
# 日志配置
log-error = /data/mysql/mysql-error.log
slow_query_log = 1
slow_query_log_file = /data/mysql/mysql-slow.log
long_query_time = 2
# InnoDB引擎配置
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
# 其他安全配置
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections = 200

配置文件参数说明

参数 说明
basedir MySQL安装根目录
datadir 数据文件存储目录
socket MySQL通信socket文件路径
port 监听端口,默认3306
innodb_buffer_pool_size InnoDB缓冲池大小,建议为物理内存的50%-70%
sql_mode SQL模式,严格模式避免非法数据

配置系统服务并启动

创建systemd服务文件

vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=5000
Restart=on-failure
[Install]
WantedBy=multi-user.target

启动MySQL服务

systemctl daemon-reload
systemctl start mysqld
systemctl enable mysqld  # 设置开机自启

检查MySQL状态

systemctl status mysqld
# 或检查进程
ps aux | grep mysqld
# 或查看端口监听
netstat -tuln | grep 3306

安全配置与初始设置

登录MySQL并修改root密码

使用临时密码登录:

mysql -u root -p

输入临时密码后,执行以下命令修改密码(密码需包含大小写字母、数字和特殊字符):

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword@123';
FLUSH PRIVILEGES;

执行安全脚本

MySQL提供了mysql_secure_installation脚本,用于优化安全设置:

/usr/local/mysql/bin/mysql_secure_installation

根据提示完成:

  • 设置root密码(若已修改可跳过)
  • 移除匿名用户
  • 禁止root远程登录(推荐,仅允许本地登录)
  • 删除测试数据库
  • 重新加载权限表

环境变量配置

为方便全局使用MySQL命令,将bin目录加入PATH

linux下tar包如何安装mysql

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile

验证配置:

echo $PATH
mysql --version

常见问题排查

  1. 启动失败:检查/data/mysql/mysql-error.log日志,常见原因包括权限错误、配置文件参数错误、依赖库缺失。
  2. 无法连接:确认防火墙是否放行3306端口(firewall-cmd --add-port=3306/tcp --permanent),或检查bind-address配置(默认为127.0.0.1,远程访问需改为0.0.0.0)。

相关问答FAQs

问题1:安装后无法启动MySQL,提示“Failed to start mysqld.service: Unit not found”怎么办?
解答:该错误通常因systemd服务文件路径错误或未正确加载导致,检查服务文件是否存放在/usr/lib/systemd/system/目录下,执行systemctl daemon-reload重新加载服务配置后再次启动,若仍失败,检查mysqld.service中的ExecStart路径是否正确指向MySQL的mysqld可执行文件。

问题2:如何设置MySQL开机自启?
解答:在配置systemd服务时,已通过WantedBy=multi-user.target设置开机自启,若未配置,可通过以下命令手动设置:

systemctl enable mysqld  # 启用开机自启
systemctl disable mysqld # 禁用开机自启

设置后,可通过systemctl is-enabled mysqld查看自启状态,确认输出为enabled即表示配置成功。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/23550.html

(0)
酷番叔酷番叔
上一篇 3小时前
下一篇 3小时前

相关推荐

  • Linux如何查看软件版本?常用方法与命令详解?

    在Linux系统中,查看软件版本是日常运维、开发调试和版本兼容性检查的常见需求,不同类型的软件(如系统工具、包管理器安装的软件、编译源码安装的软件等)查看版本的方法各异,本文将详细介绍多种实用方法,并结合示例说明,系统级信息查看方法系统内核和发行版版本是最基础的信息,可通过以下命令快速获取:uname:查看内核……

    2025年8月26日
    1500
  • 测试人员如何用linux

    人员用 Linux 可进行功能、性能测试,利用命令行工具执行脚本,监控系统资源

    2025年8月17日
    1500
  • Linux中如何建立文件夹?

    在Linux操作系统中,建立文件夹(也称为“目录”)是日常管理和系统维护的基础操作之一,无论是开发者、系统管理员还是普通用户,掌握创建文件夹的方法都是必备技能,Linux下创建文件夹主要通过命令行工具实现,同时也支持图形界面的操作方式,本文将详细介绍命令行中的核心命令mkdir、常用参数及场景应用,并简要说明图……

    2025年8月29日
    1600
  • linux桥接如何设置网络设置

    Linux中,可通过brctl命令创建桥接,配置网络接口IP等参数,结合

    2025年8月18日
    1700
  • linux如何mkdir

    Linux中,使用mkdir命令创建目录,mkdir 目录名。

    2025年8月10日
    1600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信