一、
MySQL 作为最流行的开源关系型数据库,在 Web 应用、数据存储等领域广泛应用。在 Linux 系统中安装 MySQL 不仅性能高效,还能充分利用系统资源。本文将详解三种主流安装方式:包管理器安装、二进制包安装和 Docker 安装,涵盖配置优化与安全加固,助你快速搭建生产级数据库环境。
二、安装前准备
1. 系统要求
bash
sudo ufw allow 3306/tcp Ubuntu
sudo firewall-cmd add-port=3306/tcp permanent CentOS
2. 卸载旧版本(可选)
避免版本冲突:
bash
sudo apt remove purge mysql- Ubuntu/Debian
sudo yum remove mysql-server CentOS
rm -rf /etc/mysql /var/lib/mysql
三、三种安装方式详解
3.1 包管理器安装(推荐初学者)
适用场景:快速部署标准版本,自动处理依赖。
Ubuntu/Debian:
bash
sudo apt update
sudo apt install mysql-server -y
sudo systemctl start mysql
CentOS/RHEL:
bash
sudo yum install -y mysql-server
sudo systemctl start mysqld
验证安装:
bash
mysql version 输出示例:mysql Ver 8.0.33 for Linux
> 深入建议:
3.2 二进制包安装(灵活定制)
适用场景:需特定版本、自定义路径或优化编译参数。
步骤:
1. 下载解压:
bash
wget
tar -xvf mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz -C /usr/local/
mv /usr/local/mysql-8.0.33 /usr/local/mysql
2. 创建系统用户和组:
bash
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
3. 初始化数据库:
bash
cd /usr/local/mysql
mkdir mysql-data
/bin/mysqld initialize user=mysql basedir=/usr/local/mysql datadir=/usr/local/mysql/mysql-data
记录输出的临时密码(如:`A temporary password is generated for root@localhost: 5s&gF!a0Kv_`)
4. 启动服务:
bash
/bin/mysqld_safe user=mysql &
> 深入建议:
3.3 Docker 安装(快速隔离环境)
适用场景:开发测试、多版本隔离。
bash
docker run -d name mysql
-e MYSQL_ROOT_PASSWORD=YourStrongPassword
-p 3306:3306
-v /path/to/mysql-data:/var/lib/mysql
mysql:8.0.33
验证容器状态:
bash
docker logs mysql 查看启动日志
docker exec -it mysql mysql -uroot -p
> 深入建议:
四、关键配置与安全加固
4.1 初始安全设置
运行安全脚本:
bash
sudo mysql_secure_installation
按提示操作:
4.2 配置文件优化(/etc/mysql/f)
ini
[mysqld]
character-set-server = utf8mb4 支持 emoji 和特殊字符
innodb_buffer_pool_size = 4G 根据内存调整
max_connections = 200 高并发场景可提高
log-error = /var/log/mysql/error.log 启用错误日志
4.3 创建远程访问用户
sql
CREATE USER 'admin'@'%' IDENTIFIED BY 'SecurePass123!';
GRANT ALL PRIVILEGES ON . TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
> 安全建议:
五、日常管理与故障排查
bash
sudo systemctl restart mysql 重启
sudo systemctl status mysql 查看状态
bash
tail -f /var/log/mysql/error.log 实时监控错误
bash
mysqldump -u root -p all-databases > full_backup.sql 备份
mysql -u root -p < full_backup.sql 恢复
六、与建议
安装方式选择:
生产环境最佳实践:
1. 定期备份并测试恢复流程。
2. 监控慢查询日志(`slow_query_log = ON`)。
3. 使用配置管理工具(Ansible)批量部署。
4. 考虑主从复制或集群(如 InnoDB Cluster)保障高可用。
通过本文,你已掌握 Linux 下 MySQL 的完整部署流程及核心优化策略。遵循安全规范并持续监控,即可构建稳定高效的数据库服务。
> 最后提示:MySQL 8.0+ 默认使用 `caching_sha2_password` 认证,旧客户端需升级或切换为 `mysql_native_password`(参考 `ALTER USER` 命令)。