在4G内存的Debian/Ubuntu服务器上安装MySQL 8的步骤如下:
1. 系统更新
sudo apt update
sudo apt upgrade -y
2. 添加MySQL官方仓库
# 下载MySQL APT仓库包
wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
# 安装仓库配置
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb
# 在弹出的界面中选择MySQL 8.0,然后选择OK
# 更新包列表
sudo apt update
3. 安装MySQL Server
sudo apt install mysql-server -y
4. 安全配置(重要)
sudo mysql_secure_installation
按提示操作:
- 设置验证密码策略(建议选择强密码)
- 设置root密码
- 移除匿名用户
- 禁止远程root登录
- 移除测试数据库
- 重新加载权限表
5. 优化4G内存配置
编辑MySQL配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
添加或修改以下参数(适合4G内存):
[mysqld]
# 基础配置
innodb_buffer_pool_size = 1G # 设置为物理内存的25-30%
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2 # 平衡性能和数据安全
# 连接配置
max_connections = 150 # 根据实际需求调整
thread_cache_size = 8
# 查询缓存(MySQL 8已移除,无需配置)
# 性能优化
query_cache_type = 0 # 禁用查询缓存
query_cache_size = 0
# 临时表
tmp_table_size = 64M
max_heap_table_size = 64M
# 其他优化
innodb_flush_method = O_DIRECT
innodb_file_per_table = ON
innodb_buffer_pool_instances = 4 # 对于4G内存,2-4个实例
6. 重启MySQL服务
sudo systemctl restart mysql
sudo systemctl enable mysql # 设置开机自启
7. 验证安装
# 检查服务状态
sudo systemctl status mysql
# 登录MySQL
sudo mysql -u root -p
# 查看版本
SELECT VERSION();
8. 创建新用户和数据库(可选)
-- 创建新用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'strong_password';
-- 创建数据库
CREATE DATABASE dbname;
-- 授权
GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
9. 防火墙配置(如果需要远程访问)
# 开放3306端口
sudo ufw allow 3306/tcp
sudo ufw reload
注意事项:
- 内存优化:4G服务器需要合理配置
innodb_buffer_pool_size,避免设置过大 - 备份配置:安装后立即配置备份策略
- 监控设置:考虑安装监控工具如
mysqltuner进行优化建议 - 定期维护:设置定期优化表和维护任务
故障排查:
# 查看错误日志
sudo tail -f /var/log/mysql/error.log
# 测试连接
mysqladmin -u root -p status
对于生产环境,建议进一步配置:
- 主从复制
- 定期备份
- 慢查询日志
- 性能监控
根据你的具体应用需求,可能还需要调整其他MySQL参数。
CLOUD技术笔记