linux用命令安装mysql步骤(Linux命令安装MySQL)
作者:路由通
|

发布时间:2025-05-04 06:22:08
标签:
在Linux系统中通过命令行安装MySQL是运维人员和开发者必备的技能之一。该过程涉及系统兼容性检查、软件包管理、依赖处理、安全配置等多个环节,需兼顾不同发行版的特性(如Ubuntu的APT、CentOS的YUM)。本文将从环境准备、仓库配

在Linux系统中通过命令行安装MySQL是运维人员和开发者必备的技能之一。该过程涉及系统兼容性检查、软件包管理、依赖处理、安全配置等多个环节,需兼顾不同发行版的特性(如Ubuntu的APT、CentOS的YUM)。本文将从环境准备、仓库配置、安装执行、初始化设置等八个维度展开分析,并通过对比表格揭示不同平台的操作差异。
一、系统环境兼容性检查
安装前需确认操作系统版本、硬件资源及已安装软件的兼容性。
- 通过
uname -a
查看内核版本,确保支持MySQL运行 - 检查内存和磁盘空间(建议至少2GB内存+500MB可用空间)
- 排查冲突端口(默认3306端口是否被占用)
检查项 | 命令 | 说明 |
---|---|---|
内核版本 | uname -a | 确认系统类型(x86_64/aarch64) |
内存状态 | free -h | 确保可用内存≥2GB |
磁盘空间 | df -h | 检查/var/lib/mysql目录剩余空间 |
端口占用 | netstat -tuln | grep 3306 | 避免与其他服务冲突 |
二、配置官方软件仓库
直接使用系统仓库可能导致版本过旧,需添加MySQL官方源或第三方源。
- Ubuntu/Debian:
wget https://repo.mysql.com/mysql-apt-config_0.8.24-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb - CentOS/RHEL:
wget https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo rpm --import RPM-GPG-KEY-mysql-2022
sudo yum install mysql80-community-release - 通用方法:手动创建仓库配置文件(/etc/yum.repos.d/mysql.repo)
发行版 | 仓库配置方式 | 默认版本 |
---|---|---|
Ubuntu 20.04 | APT专用包+图形配置 | MySQL 8.0 |
CentOS 7 | RPM导入密钥+YUM仓库 | MySQL 8.0 |
Debian 11 | APT源+GPG密钥 | MySQL 8.0 |
三、安装依赖组件
MySQL运行依赖libaio、libnuma等库,需提前安装。
- 通用依赖:
sudo apt install libaio1 libmecab2 Ubuntu/Debian
sudo yum install libaio CentOS/RHEL - 编译环境依赖(如需源码安装):
sudo yum groupinstall "Development Tools"
sudo apt install build-essential
组件 | 作用 | 缺失影响 |
---|---|---|
libaio | 异步I/O支持 | 性能下降 |
libnuma | 内存分配优化 | 高并发场景异常 |
zlib/gcc | 压缩/编译支持 | 插件加载失败 |
四、执行安装命令
根据仓库配置选择对应安装指令,注意版本号参数。
- 二进制安装:
sudo apt install mysql-server Ubuntu/Debian
sudo yum install mysql-community-server CentOS/RHEL - 源码编译安装:
tar -xvf mysql-8.0.30.tar.gz
cd mysql-8.0.30 && cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost
make && sudo make install
安装方式 | 优势 | 适用场景 |
---|---|---|
二进制包 | 快速部署 | 生产环境 |
源码编译 | 定制优化 | 开发测试 |
Docker镜像 | 环境隔离 | 多项目并行 |
五、初始化数据库文件
首次安装后需进行初始化操作,生成默认配置文件和数据目录。
- 自动初始化:
sudo systemctl start mysqld CentOS/RHEL
sudo systemctl start mysql Ubuntu/Debian - 手动初始化(源码安装时):
mkdir /usr/local/mysql
cp support-files/my-default.cnf /etc/my.cnf
/usr/local/mysql/bin/mysqld --initialize --user=mysql
初始化方式 | 数据目录 | 日志路径 |
---|---|---|
系统服务启动 | /var/lib/mysql | /var/log/mysql |
源码编译安装 | /usr/local/mysql/data | /usr/local/mysql/logs |
Docker部署 | /var/lib/mysql | /var/log/mysql |
六、安全配置与权限设置
默认root账户无密码且匿名用户可登录,需立即修改。
- 运行安全脚本:
sudo mysql_secure_installation
按提示完成以下操作:
- 设置root密码
- 删除匿名用户
- 禁止远程root登录
- 移除测试数据库 - 手动修改配置文件(/etc/my.cnf):
[mysqld]
bind-address = 127.0.0.1 仅允许本地连接
skip-symbolic-links 禁用软链接绕过权限
安全项 | 配置方法 | 风险等级 |
---|---|---|
root密码 | mysql_secure_installation | 高 |
匿名用户 | DELETE FROM mysql.user WHERE User='' | 中 |
远程访问 | GRANT ALL PRIVILEGES ON . TO 'root''%' | 低 |
七、服务管理与自动化配置
配置系统服务自启并设置开机启动项。
- 启用自启:
sudo systemctl enable mysqld CentOS/RHEL
sudo systemctl enable mysql Ubuntu/Debian - 查看服务状态:
systemctl status mysqld | grep Active
- 日志监控:配置/etc/rsyslog.conf追加:
local0. /var/log/mysql/error.log
重启rsyslog服务:sudo systemctl restart rsyslog
操作 | CentOS命令 | Ubuntu命令 |
---|---|---|
启动服务 | systemctl start mysqld | systemctl start mysql |
停止服务 | systemctl stop mysqld | systemctl stop mysql |
重启服务 | systemctl restart mysqld | systemctl restart mysql |
八、验证安装与功能测试
通过客户端工具验证MySQL是否正常运行。
- 登录数据库:
mysql -u root -p
输入密码后执行:SHOW VARIABLES LIKE 'version';
- 创建测试数据库:
CREATE DATABASE test_db; USE test_db; CREATE TABLE t1 (id INT PRIMARY KEY);
- 远程连接测试(需开放防火墙):
sudo firewall-cmd --permanent --add-port=3306/tcp CentOS
sudo ufw allow 3306 Ubuntu
测试项 | 命令/操作 | 预期结果 |
---|---|---|
版本查询 | SELECT VERSION(); | 返回8.0.x或指定版本号 |
连接数限制 | SHOW VARIABLES LIKE 'max_connections'; | 默认151(可调整) |
字符集验证 | SHOW VARIABLES LIKE 'character_set%'; | utf8mb4(需配置) |
通过以上八个步骤,可在主流Linux发行版中完成MySQL的命令行安装。不同平台的核心差异体现在包管理和服务命名上,而安全配置与初始化逻辑具有通用性。实际部署时需根据业务需求调整配置文件参数,并定期执行升级和维护操作。
相关文章
在移动互联网时代,微信作为国民级社交应用,其下载与安装需求覆盖了安卓、iOS、Windows、macOS及Linux等多个平台。然而,用户在实际下载过程中常因设备差异、区域限制或特殊需求(如多开功能)遇到技术壁垒。本文将从八大维度解析“微信
2025-05-04 06:22:00

字符串比较函数是软件开发中的基础工具,其实现质量直接影响程序性能、安全性及兼容性。随着多平台应用场景的复杂化,字符串比较需兼顾编码差异、边界条件、性能优化等多重挑战。例如,不同操作系统对文本编码的处理方式差异(如Windows默认使用CP-
2025-05-04 06:21:57

Excel作为数据处理的核心工具,其去空格功能在实际业务中具有不可替代的作用。无论是清理用户输入数据、标准化报表格式,还是提升数据匹配准确性,去除多余空格都是数据清洗的关键环节。Excel提供多种去空格方案,包括TRIM函数、SUBSTIT
2025-05-04 06:21:50

在家庭网络设备与智能电视的连接场景中,路由器与电视的物理接口选择是用户常遇到的基础问题。不同电视型号、网络协议及硬件接口的差异,使得"路由器连接电视插哪个孔"的答案呈现多样性。该问题涉及有线/无线连接方式、设备接口类型识别、网络协议匹配等多
2025-05-04 06:21:48

在数字化社交时代,微信群作为重要的私域流量池和垂直社群载体,已成为个人拓展人脉、企业触达用户的核心渠道之一。如何高效精准地找到目标微信群并成功添加,涉及平台规则解读、技术工具应用、社交礼仪把握等多维度能力。当前主流方法可划分为八大类,需结合
2025-05-04 06:21:34

微信作为国内最大的社交平台,其吸粉裂变的核心逻辑在于利用社交关系链实现用户指数级增长。相较于其他平台,微信具备闭环生态(公众号+朋友圈+社群+小程序)、低门槛触达(无需下载APP)和熟人社交信任背书三大独特优势。通过设计简单的参与机制(如转
2025-05-04 06:21:33

热门推荐