Linux环境下MySQL数据库安装全指南
安装前的准备工作
在Linux系统中安装MySQL数据库,首先需要确保系统环境满足要求,并做好相关准备工作,以常见的Ubuntu和CentOS系统为例,操作略有差异,但核心步骤一致。

-
系统要求检查
- 确保系统为64位架构,推荐使用Ubuntu 18.04+或CentOS 7+版本。
- 检查可用磁盘空间:MySQL数据目录至少需要1GB以上空闲空间。
- 确保系统已更新至最新状态:
# Ubuntu/Debian系统 sudo apt update && sudo apt upgrade -y # CentOS/RHEL系统 sudo yum update -y
-
依赖包安装
MySQL运行需要一些基础依赖库,根据系统类型安装:# Ubuntu/Debian系统 sudo apt install -y libaio1 libnuma1 # CentOS/RHEL系统 sudo yum install -y libaio1 numactl
-
创建专用用户(可选)
为MySQL创建独立运行用户,提升安全性:sudo groupadd mysql sudo useradd -r -g mysql mysql
MySQL官方仓库配置
推荐从MySQL官方仓库安装,确保获取最新稳定版本。
-
Ubuntu系统添加MySQL APT仓库
# 下载MySQL APT Repository配置包 wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb # 安装配置包(选择MySQL版本时默认即可) sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb # 更新仓库列表 sudo apt update
-
CentOS系统添加MySQL Yum仓库
# 下载MySQL Yum Repository配置包 wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm # 安装配置包 sudo rpm -Uvh mysql80-community-release-el7-11.noarch.rpm # 验证仓库是否启用 sudo yum repolist enabled | grep ".*\.\*community\.\*"
MySQL服务器安装
通过官方仓库安装MySQL服务器,自动处理依赖关系。
-
Ubuntu系统安装
sudo apt install -y mysql-server
安装完成后,MySQL服务会自动启动,可通过以下命令检查状态:

sudo systemctl status mysql
-
CentOS系统安装
sudo yum install -y mysql-community-server
启动并设置开机自启:
sudo systemctl start mysqld sudo systemctl enable mysqld
安装后配置与安全初始化
首次安装后,需运行安全脚本设置root密码、移除匿名用户等。
-
运行安全配置脚本
sudo mysql_secure_installation
按照提示操作:
- 设置root密码(建议包含大小写字母、数字及特殊字符)。
- 移除匿名用户。
- 禁止root远程登录(如需远程访问可后续开启)。
- 移除测试数据库。
- 重新加载权限表。
-
字符集与配置文件优化
编辑MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu)或/etc/my.cnf(CentOS),调整关键参数:[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci bind-address = 0.0.0.0 # 允许所有IP连接(生产环境建议限制IP) max_connections = 200 # 调整最大连接数
保存后重启MySQL服务:
sudo systemctl restart mysql
用户与数据库管理
安装完成后,可通过命令行或图形化工具管理数据库。
-
登录MySQL

mysql -u root -p
输入之前设置的root密码。
-
创建用户与数据库
-- 创建数据库 CREATE DATABASE example_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 创建用户并授权 CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost'; FLUSH PRIVILEGES;
-
远程访问配置(可选)
如需远程连接,需修改bind-address为0.0.0,并创建允许远程访问的用户:CREATE USER 'remote_user'@'%' IDENTIFIED BY 'RemotePassword123!'; GRANT ALL PRIVILEGES ON example_db.* TO 'remote_user'@'%'; FLUSH PRIVILEGES;
同时确保防火墙开放MySQL端口(默认3306):
# Ubuntu系统 sudo ufw allow 3306 # CentOS系统 sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
常见问题与维护
-
忘记root密码
- 停止MySQL服务:
sudo systemctl stop mysql - 跳过权限表启动:
sudo mysqld_safe --skip-grant-tables & - 无密码登录并重置密码:
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword') WHERE User='root'; FLUSH PRIVILEGES; - 重启MySQL服务。
- 停止MySQL服务:
-
日志查看与优化
- 错误日志:
/var/log/mysql/error.log(Ubuntu)或/var/log/mysqld.log(CentOS) - 慢查询日志:在配置文件中启用
slow_query_log=1,设置slow_query_log_file=/var/log/mysql/slow.log
- 错误日志:
-
定期备份
使用mysqldump工具备份数据库:mysqldump -u root -p example_db > backup.sql
在Linux系统中安装MySQL数据库需经历环境准备、仓库配置、服务安装、安全初始化等步骤,通过官方仓库安装可确保版本稳定性和安全性,安装后的配置优化与用户管理则是保障数据库高效运行的关键,定期维护与备份操作能够进一步提升系统的可靠性和数据安全性,掌握这些流程,无论是开发环境还是生产环境,都能顺利完成MySQL的部署与管理。



















