Linux安装MySQL全流程
Linux安装MySQL全流程
2026-08-29 02:26
Linux安装MySQL完整流程与远程访问配置
linux安装mysql
在 Linux 服务器上安装 MySQL 通常用于搭建网站数据库、应用后端数据库、数据分析环境或内部业务系统。不同 Linux 发行版的安装命令略有差异,但整体流程基本一致:准备环境、安装 MySQL 服务、启动服务、初始化安全配置、创建数据库和用户、配置远程访问与备份策略。
一、安装前准备
安装 MySQL 前,建议先确认以下事项:
- 拥有
root权限或sudo权限。- 服务器可以访问软件源或 MySQL 官方仓库。
- 了解是否需要远程访问 MySQL。
- 确认防火墙是否开放
3306端口。- 准备强密码,避免使用简单密码。
可以使用以下命令检查系统信息:
cat /etc/os-release查看是否已安装数据库服务:
systemctl status mysql systemctl status mysqld
二、Ubuntu / Debian 系统安装 MySQL
方法一:使用系统软件源安装
适合快速搭建测试环境或普通业务环境。
sudo apt update sudo apt install mysql-server安装完成后启动 MySQL:
sudo systemctl enable mysql sudo systemctl start mysql查看服务状态:
sudo systemctl status mysql登录 MySQL:
sudo mysql退出 MySQL:
EXIT;
方法二:使用 MySQL 官方仓库安装
如果需要安装 MySQL 官方版本,可以添加官方 APT 仓库。
sudo apt install wget wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb sudo dpkg -i mysql-apt-config_*.deb sudo apt update sudo apt install mysql-server安装过程中如果弹出配置界面,可以选择需要安装的 MySQL 版本。安装完成后启动服务:
sudo systemctl enable mysql sudo systemctl start mysql
三、CentOS / RHEL / AlmaLinux / Rocky Linux 安装 MySQL
RHEL 系列系统默认软件源中可能没有 MySQL Server,通常需要添加 MySQL 官方 YUM/DNF 仓库。
以 RHEL 9、AlmaLinux 9、Rocky Linux 9 为例:
sudo dnf install wget sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm sudo dnf install mysql-community-server如果系统是 EL8,可以将仓库包地址中的
el9改为el8。启动 MySQL 服务:
sudo systemctl enable mysqld sudo systemctl start mysqld查看服务状态:
sudo systemctl status mysqld查看初始临时密码:
sudo grep 'temporary password' /var/log/mysqld.log使用临时密码登录:
mysql -u root -p
四、执行安全初始化
安装 MySQL 后,建议立即执行安全配置:
sudo mysql_secure_installation该命令通常会提示你完成以下操作:
- 设置或修改 root 密码。
- 删除匿名用户。
- 禁止 root 远程登录。
- 删除测试数据库。
- 重新加载权限表。
生产环境中建议全部选择安全选项,尤其是不要允许 root 远程登录。
五、登录 MySQL 并创建数据库
登录 MySQL:
mysql -u root -p创建数据库:
CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;创建业务用户:
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';授权用户访问指定数据库:
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost'; FLUSH PRIVILEGES;退出:
EXIT;测试登录:
mysql -u app_user -p app_db
六、修改 root 密码
如果需要修改 root 密码,可以执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPassword123!'; FLUSH PRIVILEGES;注意:生产环境应使用复杂密码,避免使用示例中的测试密码。
七、配置 MySQL 远程访问
默认情况下,MySQL 通常只允许本地连接。如果应用服务器和数据库服务器不在同一台机器上,需要开启远程访问。
1. 修改配置文件
Ubuntu / Debian 常见配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnfRHEL / CentOS 常见配置文件:
sudo nano /etc/my.cnf找到如下配置:
bind-address = 127.0.0.1可以修改为:
bind-address = 0.0.0.0或者绑定服务器内网 IP:
bind-address = 192.168.1.100修改后重启 MySQL。
Ubuntu / Debian:
sudo systemctl restart mysqlRHEL / CentOS:
sudo systemctl restart mysqld
2. 创建允许远程登录的用户
CREATE USER 'app_user'@'%' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'%'; FLUSH PRIVILEGES;其中
%表示允许任意主机连接。生产环境中更建议使用指定 IP,例如:CREATE USER 'app_user'@'192.168.1.50' IDENTIFIED BY 'StrongPassword123!';
3. 开放防火墙端口
Ubuntu 使用 UFW:
sudo ufw allow 3306/tcpRHEL / CentOS / Rocky / AlmaLinux 使用 firewalld:
sudo firewall-cmd --add-port=3306/tcp --permanent sudo firewall-cmd --reload如果服务器部署在云平台上,还需要在云安全组中开放
3306端口。
八、常用管理命令
查看 MySQL 是否正常运行:
mysqladmin -u root -p ping查看数据库列表:
SHOW DATABASES;查看端口:
SHOW VARIABLES LIKE 'port';查看数据目录:
SHOW VARIABLES LIKE 'datadir';查看错误日志:
Ubuntu / Debian:
sudo tail -n 100 /var/log/mysql/error.logRHEL / CentOS:
sudo tail -n 100 /var/log/mysqld.log备份数据库:
mysqldump -u root -p app_db > app_db.sql恢复数据库:
mysql -u root -p app_db < app_db.sql
九、常见问题处理
1. 无法启动 MySQL
查看服务状态:
sudo systemctl status mysql或:
sudo systemctl status mysqld查看日志:
sudo journalctl -xe
2. 忘记 root 密码
可以先查看 MySQL 日志中的临时密码:
sudo grep 'temporary password' /var/log/mysqld.log如果无法找回,需要按照 MySQL 官方方式重置 root 密码,生产环境操作前建议先备份数据。
3. 远程连接失败
常见原因包括:
- MySQL 没有开放远程访问。
bind-address仍绑定在127.0.0.1。- 防火墙未开放
3306端口。- 云安全组未放行端口。
- 用户权限中的 host 不是允许访问的地址。
- 应用服务器连接地址填写错误。
4. 中文乱码
创建数据库和表时建议使用
utf8mb4字符集:CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
utf8mb4支持完整 Unicode,包括中文、表情符号等。
十、生产环境安全建议
- 不建议使用 root 账号连接应用程序。
- 为每个应用创建独立数据库和用户。
- 避免将 MySQL 直接暴露在公网。
- 使用强密码和最小权限原则。
- 定期备份数据库。
- 开启日志审计或访问监控。
- 及时更新系统和 MySQL 补丁。
- 远程访问尽量通过 VPN 或内网连接。
总结
本文介绍了在 Linux 系统中安装 MySQL 的完整流程,包括 Ubuntu、Debian、CentOS、RHEL、AlmaLinux、Rocky Linux 等常见系统的安装方式。安装完成后,需要通过安全初始化、创建数据库用户、配置远程访问、开放防火墙端口等步骤,让 MySQL 能够安全稳定地运行。对于生产环境,应重点关注权限控制、密码强度、备份策略和网络访问安全。