Debian或Ubuntu系统在4G服务器上安装MySQL 8的步骤有哪些?

在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

注意事项:

  1. 内存优化:4G服务器需要合理配置innodb_buffer_pool_size,避免设置过大
  2. 备份配置:安装后立即配置备份策略
  3. 监控设置:考虑安装监控工具如mysqltuner进行优化建议
  4. 定期维护:设置定期优化表和维护任务

故障排查:

# 查看错误日志
sudo tail -f /var/log/mysql/error.log

# 测试连接
mysqladmin -u root -p status

对于生产环境,建议进一步配置:

  • 主从复制
  • 定期备份
  • 慢查询日志
  • 性能监控

根据你的具体应用需求,可能还需要调整其他MySQL参数。

云服务器