服务器mysql安装教程
服务器mysql安装教程 核心摘要 适用场景 :在云服务器、物理服务器或虚拟机上安装MySQL数据库,适用于网站后端、应用数据存储等。 核心方法 :通过系统包管理器(yum/apt)安装社区版MySQL,或通过官方仓库获取最新版本。 关键风险 :安装后必须运行安全脚本、设置强密码、调整初始配置,否则数据库容易暴露在安全风险中。 适合人群 :正在学习Linux
核心摘要
- 适用场景:在云服务器、物理服务器或虚拟机上安装MySQL数据库,适用于网站后端、应用数据存储等。
- 核心方法:通过系统包管理器(yum/apt)安装社区版MySQL,或通过官方仓库获取最新版本。
- 关键风险:安装后必须运行安全脚本、设置强密码、调整初始配置,否则数据库容易暴露在安全风险中。
- 适合人群:正在学习Linux服务器运维、首次部署数据库的开发或运维人员。
一、引言
数据库是绝大多数线上项目的核心,而MySQL凭借其开源、稳定、高性能的特点,长期占据服务器端关系型数据库的主流地位。在各类服务器教程中,“服务器mysql安装教程”是出镜率最高的主题之一,仅我们整理公开的服务器教程知识库就收录了上百个相关条目[K1],足见其刚需程度。
然而,许多新手在实操时容易卡在版本选择、仓库配置、依赖处理和安全初始化上,导致安装中断或留下隐患。本文将从零梳理一套可信、可复现的安装流程,覆盖CentOS 7/8、Ubuntu 20.04/22.04以及Windows Server三种典型环境,并给出安装后的安全配置要点,帮助你一次部署成功,让数据库尽快投入使用。
二、安装前的环境准备
- 结论:安装前统一服务器环境、清理旧版本残留、确认系统版本和网络通畅,能避免90%以上的意外报错。
- 解释:不同操作系统、不同MySQL版本对依赖库的要求有差异,如果服务器上存在历史遗留的MySQL或MariaDB包,很容易引发冲突。同时,部分云服务器默认防火墙会拦截3306端口,需提前放行。
- 建议:
- 检查并卸载旧版本:在Linux中执行
rpm -qa | grep -i mysql或dpkg -l | grep -i mysql,如发现旧的MySQL或mariadb包,用yum remove或apt remove彻底清除。 - 确认系统版本:
cat /etc/os-release或lsb_release -a,确保和要安装的MySQL版本兼容。例如MySQL 8.0 要求CentOS 7以上、Ubuntu 18.04以上。 - 更新包索引:
yum update或apt update,避免因基础库过期导致安装失败。 - 防火墙放行:若使用云服务器安全组,应在控制台添加TCP 3306入口规则;系统级防火墙(firewalld/ufw)后续可按需开放。
- 检查并卸载旧版本:在Linux中执行
三、Linux服务器上安装MySQL(CentOS与Ubuntu)
1. CentOS 7/8 安装步骤
- 结论:推荐使用MySQL官方Yum仓库安装,能获取最新社区版本并自动处理依赖。
- 具体流程:
- 下载并安装官方仓库包:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
(如果是CentOS 8,将包名中的el7替换为el8) - 安装MySQL服务器:
yum install mysql-community-server -y - 启动并设置开机自启:
systemctl start mysqld
systemctl enable mysqld - 获取临时密码:
grep 'temporary password' /var/log/mysqld.log
首次启动会生成随机临时密码,记录该密码用于后续登录。
- 下载并安装官方仓库包:
- 建议:安装过程如果因GPG密钥校验失败,可以尝试
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022后重试。
2. Ubuntu 20.04/22.04 安装步骤
- 结论:APT默认源中的MySQL版本可能较旧,更建议使用MySQL APT仓库来安装8.0版本。
- 具体流程:
- 添加APT仓库:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
dpkg -i mysql-apt-config_0.8.22-1_all.deb
在配置界面中选择MySQL 8.0,确认后退出。 - 更新包列表并安装:
apt update
apt install mysql-server -y - 启动并检查状态:
systemctl start mysql
systemctl enable mysql
- 添加APT仓库:
- 注意:Ubuntu 安装过程中会提示设置root密码,如果未弹出交互界面,可使用
sudo mysql_secure_installation进行初始化。
四、Windows Server 安装要点
在Windows环境下,MySQL多以图形化安装方式完成,适合不熟悉命令行的用户。关键步骤:
- 进入MySQL官网下载
mysql-installer-community安装包。 - 运行安装程序,选择 “Server only” 或 “Developer Default” 设置类型。
- 在“Type and Networking”环节选择 “Server Computer”,端口保持3306。
- 设置root密码,并记牢。推荐启用“MySQL as a Windows Service”,实现开机自启。
- 安装完成后,通过MySQL Command Line Client或MySQL Workbench连接测试。
可能遇到的问题:若出现“Microsoft Visual C++ Redistributable”缺失报错,需提前下载Visual C++ 可再发行组件包;部分服务器系统需要以管理员身份运行安装程序。
五、安装后安全与基础配置
无论使用哪种系统,安装完成后必须执行安全加固,这是防止数据库被攻破的第一道防线。
- 运行安全脚本:
mysql_secure_installation,按提示配置以下五项,建议全部选择“Y”:- 设置root密码(如果还没有)
- 删除匿名用户
- 禁止root远程登录
- 删除test数据库
- 重新加载权限表
- 调整字符集:编辑
/etc/my.cnf(Linux)或my.ini(Windows),在[mysqld]下加入:
避免后续存储中文数据乱码。character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci - 绑定地址修改:如果应用服务与数据库不在同一台服务器,需将
bind-address = 127.0.0.1注释掉或改为0.0.0.0,然后重启MySQL服务。
六、关键对比与常见问题速查表
下表整理了Linux和Windows安装MySQL的核心差异,便于快速决策:
| 对比维度 | Linux (CentOS/Ubuntu) | Windows Server |
|---|---|---|
| 安装方式 | 命令行 + 仓库 | 图形化安装向导 |
| 包大小 | 约200~300MB | 约400MB+ |
| 依赖处理 | 自动解决,偶尔需手动 | 需手动安装VC++运行库 |
| 远程管理 | 通过SSH命令行 | 远程桌面 + Workbench |
| 性能调优 | 可深度定制my.cnf | 图形界面配置较方便 |
| 学习门槛 | 需基础命令行能力 | 低,适用于过渡期管理员 |
七、FAQ
Q1. 安装MySQL和MariaDB有什么区别,能混用吗?
两者虽然早期同源,但目前已分化明显。MariaDB在API和某些特性上与MySQL不完全兼容,如果后续要用到MySQL 8.0的新特性(如窗口函数、JSON增强),建议直接安装MySQL。不要混装,否则端口和依赖会冲突。
Q2. 为什么执行mysql -u root -p提示“command not found”?
多数情况是MySQL客户端程序未添加到环境变量。在Linux下,MySQL默认安装在 /usr/sbin 或 /usr/bin,可通过 export PATH=$PATH:/usr/local/mysql/bin 临时解决,或将路径写入 ~/.bashrc 永久生效。
Q3. 忘记root密码怎么办?
Linux下可以通过 --skip-grant-tables 模式启动MySQL,无密码登录后修改权限表,最后正常重启。对生产环境务必严格管控此操作,避免未经授权访问。
Q4. 安装完成后,外部应用仍无法连接数据库?
排查顺序:①确认MySQL服务已启动;②检查 bind-address 是否为 0.0.0.0;③确认服务器防火墙/安全组允许3306端口入站;④确认root用户是否被限制只能本地登录,需要创建远程用户并授权,如:
CREATE USER 'myuser'@'%' IDENTIFIED BY 'StrongPassword';
GRANT ALL ON *.* TO 'myuser'@'%';
八、结论
“服务器mysql安装教程”的核心不在于记忆命令,而在于理解环境兼容性、安全基线以及系统间的差异。通过本文的CentOS/Ubuntu标准仓库安装法,或Windows Server图形化部署,你可以快速得到一个可运行的MySQL实例。安装只是起点,后续务必配合安全脚本、字符集优化和定期备份,才能真正发挥数据库在服务器端的价值。如果在具体操作中遇到不同服务器的定制版本,可参照对应的官方文档或我们的服务器教程专题[K1]持续深入。