引言
CentOS Stream 作为基于 Red Hat Enterprise Linux (RHEL) 的连续交付模型,为用户提供了一个快速获取新特性和更新的平台。在 CentOS Stream 上配置高效数据库是许多开发者和系统管理员的关键任务。本文将详细探讨如何在 CentOS Stream 上安装、配置和管理数据库,确保其高效运行。
系统更新与准备
在开始之前,确保您的 CentOS Stream 系统是最新的。更新系统软件包的命令如下:
sudo dnf update -y
更换 Yum 源
为了加速软件包的下载,建议使用国内的镜像源。例如,使用阿里云提供的镜像服务:
sudo vi /etc/yum.repos.d/CentOS-Stream.repo
将 baseurl
字段修改为阿里云镜像源:
[base]
name=CentOS-release
ver=- Base
mirrorlist=http://mirror.centos.org/content/stream/BaseOS/x8664/mirrorlist.txt
baseurl=https://mirrors.aliyun.com/centos-vault/9.2.0/baseos/x8664/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
保存文件后,运行以下命令刷新缓存:
sudo dnf clean all && dnf makecache
安装数据库
以下是在 CentOS Stream 上安装 MySQL 的示例:
添加 MySQL Yum Repository
sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
安装 MySQL Server
sudo dnf install -y mysql-community-server
启动 MySQL 服务
sudo systemctl start mysqld
设置 MySQL 自启动
sudo systemctl enable mysqld
获取临时 root 密码
首次启动 MySQL 时,会生成一个临时的 root 密码。您可以使用以下命令查看:
sudo grep 'temporary password' /var/log/mysqld.log
配置数据库
修改 root 密码
连接到 MySQL 并修改 root 密码:
sudo mysql -u root -p
在 MySQL 提示符下执行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
创建数据库和用户
CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
数据库优化
调整内核参数
根据工作负载调整内核参数,以优化数据库性能。例如,增加最大文件描述符:
echo 'fs.file-max = 1000000' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
使用最新稳定版本
确保数据库软件包为最新稳定版本,以获得性能改进和安全补丁:
sudo dnf update mysql-community-server
数据库安全
更新操作系统
保持操作系统更新,以修复安全漏洞:
sudo dnf update -y
配置防火墙
允许必要的流量通过防火墙,阻止不必要的流量:
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
加强系统访问控制
关闭不需要的网络服务,使用强密码,禁止 root 远程登录:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
定期备份数据库
使用数据库提供的备份工具或命令行工具定期备份数据库:
sudo mysqldump -u root -p mydatabase > mydatabase_backup.sql
总结
通过以上步骤,您可以在 CentOS Stream 上成功安装、配置和管理高效数据库。定期监控数据库性能和安全性,确保其稳定运行。