openEuler数据库服务器搭建:MySQL与PostgreSQL部署完整指南
openEuler数据库服务器搭建MySQL与PostgreSQL部署完整指南【免费下载链接】docsTo build and enrich documentation for openEuler project.项目地址: https://gitcode.com/openeuler/docs在openEuler操作系统中搭建数据库服务器是企业级应用部署的关键环节。本文为您提供openEuler数据库服务器搭建的完整指南涵盖MySQL和PostgreSQL两大主流数据库的安装、配置、优化和管理全流程帮助您快速构建稳定高效的数据库环境。数据库选型与架构解析PostgreSQL架构深度解析PostgreSQL采用经典的多进程架构设计其核心组件包括客户端连接、会话服务进程和辅助子进程三大模块。客户端通过连接驱动器与数据库建立通信会话服务进程处理用户请求和SQL执行而辅助子进程则负责后台管理功能。PostgreSQL的主要进程包括Postmaster进程数据库实例总控进程负责启动和关闭实例Postgres常驻进程管理后端连接侦听5432端口SysLogger进程系统日志记录BgWriter进程后台写入器异步刷脏页WALWriter进程预写日志写入器AutoVacuum进程自动清理过期数据PgStat进程统计信息收集CheckPoint进程检查点管理MariaDB/MySQL逻辑架构MariaDB作为MySQL的分支完全兼容MySQL API和命令行同时提供了更好的新特性。其逻辑架构采用分层设计MariaDB架构包含客户端层应用程序连接接口服务器核心层授权插件、解析器、优化器存储引擎层支持InnoDB、MEMORY、TokuDB等多种引擎数据存储层磁盘、内存等物理资源环境准备与基础配置系统环境配置在开始数据库部署前需要进行以下基础环境配置关闭防火墙测试环境systemctl stop firewalld systemctl disable firewalld禁用SELinuxsed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config创建专用用户组# PostgreSQL用户 groupadd postgres useradd -g postgres postgres passwd postgres # MySQL/MariaDB用户 groupadd mysql useradd -g mysql mysql passwd mysql数据盘配置优化对于性能敏感场景建议使用独立的数据盘NVMe SSD配置示例# 创建文件系统 mkfs.xfs /dev/nvme0n1 # 创建数据目录 mkdir /data # 挂载数据盘 mount -o noatime,nobarrier /dev/nvme0n1 /data # 权限设置 chown -R postgres:postgres /data/PostgreSQL数据库部署实战一键安装PostgreSQL安装PostgreSQL服务器# 配置本地yum源 dnf clean all dnf makecache # 安装PostgreSQL dnf install postgresql-server初始化与启动初始化数据库# 切换到postgres用户 su - postgres # 初始化数据目录 /usr/bin/initdb -D /data/启动数据库服务/usr/bin/pg_ctl -D /data/ -l /data/logfile start验证服务状态ps -ef | grep postgres数据库基础管理登录数据库/usr/bin/psql -U postgres设置管理员密码ALTER USER postgres WITH PASSWORD YourSecurePassword123;创建新数据库CREATE DATABASE appdb;MySQL/MariaDB数据库部署快速安装MariaDB安装MariaDB服务器dnf install mariadb-server服务启动与安全配置启动MariaDB服务systemctl start mariadb安全初始化/usr/bin/mysql_secure_installation登录验证mysql -u root -p数据库性能优化指南MySQL性能调优框架硬件层优化配置BIOS优化设置关闭SMMU鲲鹏服务器特有禁用CPU预取功能调整电源管理模式为性能模式NUMA绑核优化numactl -C 0-90 -i 0-3 /usr/local/mysql/bin/mysqld --defaults-file/etc/my.cnf 操作系统级优化调度参数调优# 在/etc/grub2-efi.cfg添加 sched_steal_node_limit4 # 启用STEAL调度模式 echo STEAL /sys/kernel/debug/sched_features大页内存配置# 配置2MB大页 echo 8192 /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages数据库参数深度调优MySQL核心参数配置示例[mysqld] innodb_buffer_pool_size 230G innodb_buffer_pool_instances 16 innodb_log_file_size 1500M innodb_log_files_in_group 32 innodb_flush_method O_DIRECT innodb_io_capacity 20000 innodb_io_capacity_max 40000 innodb_page_cleaners 16 table_open_cache_instances 32 table_open_cache 30000关键参数说明innodb_buffer_pool_size设置为物理内存的60-70%innodb_log_file_size根据写入负载调整建议1-2GBinnodb_flush_method使用O_DIRECT减少操作系统缓存开销innodb_io_capacity根据磁盘IOPS能力设置高级功能与维护数据库备份恢复PostgreSQL备份pg_dump -h 192.168.1.100 -p 5432 -U postgres -W appdb backup.sqlMySQL备份mysqldump -u root -p --all-databases full_backup.sql监控与故障排查进程监控# PostgreSQL进程监控 ps -ef | grep postgres # MySQL进程监控 ps -ef | grep mysql连接数监控-- PostgreSQL SELECT count(*) FROM pg_stat_activity; -- MySQL SHOW PROCESSLIST;安全最佳实践访问控制策略PostgreSQL访问控制-- 创建只读用户 CREATE ROLE readonly WITH LOGIN PASSWORD SecurePass123; GRANT CONNECT ON DATABASE appdb TO readonly; GRANT USAGE ON SCHEMA public TO readonly; GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;MySQL权限管理-- 创建应用用户 CREATE USER appuser192.168.1.% IDENTIFIED BY StrongPassword!; GRANT SELECT, INSERT, UPDATE, DELETE ON appdb.* TO appuser192.168.1.%;定期维护任务PostgreSQL维护# 定期清理 /usr/bin/vacuumdb --all --analyze # 重建索引 /usr/bin/reindexdb --allMySQL维护-- 优化表 OPTIMIZE TABLE important_table; -- 分析表统计信息 ANALYZE TABLE important_table;故障排除指南常见问题解决服务启动失败检查端口占用netstat -tlnp | grep 5432验证数据目录权限查看日志文件/data/logfile或/var/log/mariadb/mariadb.log连接问题排查检查防火墙规则验证pg_hba.conf或my.cnf配置测试网络连通性性能问题诊断慢查询分析-- PostgreSQL SELECT * FROM pg_stat_statements ORDER BY total_time DESC LIMIT 10; -- MySQL SHOW FULL PROCESSLIST;资源瓶颈定位CPU使用率top或htop内存使用free -h磁盘IOiostat -x 1总结与建议openEuler为数据库服务器提供了稳定可靠的基础环境。通过本文的完整指南您可以快速部署掌握PostgreSQL和MySQL的安装配置流程性能优化了解从硬件到应用层的全方位调优策略安全管理实施企业级的安全访问控制运维监控建立完善的监控和维护体系建议在生产环境中使用独立的数据存储设备配置定期备份策略实施监控告警机制定期进行安全审计通过遵循这些最佳实践您可以在openEuler上构建高性能、高可用的数据库服务器为业务应用提供坚实的数据支撑。更多信息https://ar.openeuler.org/ar/【免费下载链接】docsTo build and enrich documentation for openEuler project.项目地址: https://gitcode.com/openeuler/docs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考