CentOS 7 搭建 MariaDB 数据库服务
CentOS 7 搭建 MariaDB 数据库服务1. 服务介绍MariaDB 是兼容 MySQL 协议的关系型数据库可集中存储、查询和管理结构化数据常用于 Web 应用、WordPress、监控平台和认证系统。本实验安装 MariaDB迁移数据与日志目录配置远程管理账号并完成建库、建表、数据导入和自动备份。2. 准备运行环境本实验使用以下环境| 角色 | IP 地址 | 用途 || --- | --- | --- || MariaDB 服务端 | 10.1.100.101 | 运行数据库服务 || 测试客户端 | 10.1.100.50 | 验证远程连接 |• 操作系统CentOS 7.x。• 操作账号root 或具备 sudo 权限的管理员。• 软件源YUM 可用。• 磁盘/data所在文件系统有足够空间。• 网络客户端可访问服务端 TCP 3306 端口。开始前检查环境cat /etc/centos-release uname -r ip addr df -h /data ping -c 3 10.1.100.503. 相关知识• MariaDB 默认监听 TCP 3306本地客户端也可通过 Unix Socket 连接。• 迁移数据目录必须先停止服务并保留原目录备份直接移动运行中的数据文件可能造成损坏。•skip_name_resolveON可减少反向 DNS 查询但授权账号必须使用 IP 或网段不能依赖主机名。•innodb_file_per_tableOFF会让 InnoDB 表共享系统表空间删除数据后磁盘空间不容易直接回收。该设置用于复现实验要求新环境通常保持默认开启。• 远程访问要同时检查监听地址、数据库授权、防火墙和 SELinux 标签。• 数据库备份只有经过恢复测试才算有效生产环境还应设置异机保存、保留周期和备份告警。• 不建议开放 root 远程登录应创建独立管理账号并限制来源网段。4. 实验步骤4.1 安装并初始化 MariaDByum install -y mariadb mariadb-server rsync policycoreutils-python systemctl enable --now mariadb mysql_secure_installation按提示设置 root 密码、删除匿名账号、禁止 root 远程登录、删除测试数据库并刷新权限。4.2 迁移数据库存储目录先停止服务再复制原数据目录systemctl stop mariadb mkdir -p /data/database rsync -aHAX /var/lib/mysql/ /data/database/ chown -R mysql:mysql /data/database保留原目录备份确认新目录启动正常后再决定是否清理mv /var/lib/mysql /var/lib/mysql.backup为新目录设置 SELinux 数据库标签semanage fcontext -a -t mysqld_db_t /data/database(/.*)? restorecon -Rv /data/database4.3 配置数据库参数备份配置文件cp -a /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.bak mkdir -p /data/log/mariadb chown -R mysql:mysql /data/log/mariadb semanage fcontext -a -t mysqld_log_t /data/log/mariadb(/.*)? restorecon -Rv /data/log/mariadb编辑/etc/my.cnf.d/server.cnf在[mysqld]段加入[mysqld] datadir/data/database socket/data/database/mysql.sock innodb_file_per_tableOFF skip_name_resolveON bind-address0.0.0.0 log-error/data/log/mariadb/mariadb.log [client] socket/data/database/mysql.sock启动服务并检查状态systemctl start mariadb systemctl status mariadb --no-pager4.4 配置防火墙只允许实验网段访问 TCP 3306firewall-cmd --permanent --add-rich-rulerule familyipv4 source address10.1.100.0/24 port port3306 protocoltcp accept firewall-cmd --reload firewall-cmd --list-rich-rules4.5 创建数据库、表和测试数据登录数据库mysql -uroot -p执行以下 SQLCREATE DATABASE userdb DEFAULT CHARACTER SET utf8mb4; USE userdb; CREATE TABLE users ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, PRIMARY KEY (id), UNIQUE KEY uk_username (username) ) ENGINEInnoDB; INSERT INTO users (username, email) VALUES (alice, aliceexample.com), (bob, bobexample.com); SELECT * FROM users;4.6 从 SQL 文件导入数据创建/tmp/userdb_data.sqlUSE userdb; INSERT INTO users (username, email) VALUES (carol, carolexample.com), (david, davidexample.com);执行导入mysql -uroot -p /tmp/userdb_data.sql mysql -uroot -p -e SELECT * FROM userdb.users;4.7 创建远程管理账号在 MariaDB 中创建仅允许实验网段登录的管理账号CREATE USER dbadmin10.1.100.% IDENTIFIED BY ChangeThis_StrongPassword!; GRANT ALL PRIVILEGES ON userdb.* TO dbadmin10.1.100.%; FLUSH PRIVILEGES; SHOW GRANTS FOR dbadmin10.1.100.%;生产环境应按业务库和操作类型进一步缩小权限不要长期授予全库管理权限。4.8 配置自动备份创建备份目录和脚本/usr/local/sbin/backup_mariadb.shmkdir -p /data/backup/mariadb cat /usr/local/sbin/backup_mariadb.sh EOF #!/bin/bash set -e BACKUP_DIR/data/backup/mariadb STAMP$(date %F_%H%M%S) mysqldump --single-transaction --routines --events -uroot -pRootPassword userdb | gzip $BACKUP_DIR/userdb_$STAMP.sql.gz find $BACKUP_DIR -type f -name userdb_*.sql.gz -mtime 7 -delete EOF chmod 700 /usr/local/sbin/backup_mariadb.sh生产环境不要把密码直接写进脚本。可把凭据放入权限为600的客户端配置文件再由备份账号执行。每天凌晨 2:30 执行备份cat /etc/cron.d/mariadb_backup EOF 30 2 * * * root /usr/local/sbin/backup_mariadb.sh /var/log/mariadb_backup.log 21 EOF5. 验证结果5.1 服务端验证检查服务、监听端口、数据目录和运行参数systemctl status mariadb --no-pager ss -lntp | grep :3306 mysql -uroot -p -e SELECT VERSION(); mysql -uroot -p -e SHOW VARIABLES LIKE datadir; mysql -uroot -p -e SHOW VARIABLES LIKE socket; mysql -uroot -p -e SHOW VARIABLES LIKE innodb_file_per_table; mysql -uroot -p -e SHOW VARIABLES LIKE skip_name_resolve; mysql -uroot -p -e SELECT * FROM userdb.users; journalctl -u mariadb -n 50 --no-pager tail -n 50 /data/log/mariadb/mariadb.log5.2 客户端验证在10.1.100.50安装客户端并远程连接yum install -y mariadb mysql -h 10.1.100.101 -u dbadmin -p -e SELECT * FROM userdb.users;客户端能够查询测试数据说明监听地址、防火墙和账号授权均已生效。5.3 备份与恢复验证手动执行一次备份并检查文件/usr/local/sbin/backup_mariadb.sh ls -lh /data/backup/mariadb gzip -t /data/backup/mariadb/userdb_*.sql.gz将最新备份恢复到测试数据库mysql -uroot -p -e CREATE DATABASE userdb_restore DEFAULT CHARACTER SET utf8mb4; zcat /data/backup/mariadb/userdb_*.sql.gz | mysql -uroot -p userdb_restore mysql -uroot -p -e SELECT COUNT(*) FROM userdb_restore.users;服务正常、客户端远程查询成功、数据目录和日志目录符合配置并且备份可以恢复说明 MariaDB 服务配置完成。

相关新闻

Streamlink:把直播流交给 VLC 播放,并自由选择清晰度

Streamlink:把直播流交给 VLC 播放,并自由选择清晰度

Streamlink:把直播流交给 VLC 播放,并自由选择清晰度 Streamlink 的具体作用是:解析受支持直播页面的可用流,将 best、worst 或指定清晰度交给 VLC 等播放器,也能按支持情况输出到文件。 能解决哪些具体问题 • 解析直…

2026/8/12 9:34:41 阅读更多 →
Navicat重置工具终极指南:如何轻松解锁无限试用期

Navicat重置工具终极指南:如何轻松解锁无限试用期

Navicat重置工具终极指南:如何轻松解锁无限试用期 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 开篇场景引入&a…

2026/8/11 9:49:50 阅读更多 →
Android对话框与物理按键监听开发指南

Android对话框与物理按键监听开发指南

1. Android弹出框类型全解析在Android开发中,弹出框(Dialog)是与用户交互的重要方式。根据使用场景和功能差异,Android提供了多种标准对话框实现方式,每种都有其特定的适用场景。1.1 基础AlertDialogAlertDialog是最常…

2026/8/10 3:39:03 阅读更多 →

最新新闻

使用AI助手Claude Code实现Linux环境自动化部署的完整指南

使用AI助手Claude Code实现Linux环境自动化部署的完整指南

1. 从手动到自动:为什么我们需要重新思考环境部署如果你和我一样,在职业生涯中管理过几十甚至上百台服务器,那你一定对“重复劳动”这四个字深恶痛绝。回想一下,有多少次,你为了搭建一个开发或测试环境,需要…

2026/8/12 9:36:40 阅读更多 →
AMD SEV内存加密实战:从原理到云安全部署

AMD SEV内存加密实战:从原理到云安全部署

1. 项目概述:为什么我们需要关注TEE与内存加密? 最近几年,云上数据安全问题越来越成为企业技术决策者的一块心病。你把应用和数据放到公有云上,虽然省去了自建数据中心的麻烦,但心里总有个疙瘩:云服务商的管…

2026/8/12 9:36:40 阅读更多 →
网卡队列数量配置:服务器网络性能调优的关键开关

网卡队列数量配置:服务器网络性能调优的关键开关

1. 项目概述:网卡队列数量,一个被低估的性能调优开关 如果你在服务器运维、网络性能调优或者高并发应用开发领域摸爬滚打过,大概率遇到过这样的场景:服务器CPU明明没跑满,但网络吞吐量就是上不去,应用延迟莫…

2026/8/12 9:36:40 阅读更多 →
如何5分钟掌握音频分离:Demucs完整使用教程与实战技巧

如何5分钟掌握音频分离:Demucs完整使用教程与实战技巧

如何5分钟掌握音频分离:Demucs完整使用教程与实战技巧 【免费下载链接】demucs Code for the paper Hybrid Spectrogram and Waveform Source Separation 项目地址: https://gitcode.com/gh_mirrors/de/demucs 音频分离技术正改变着音乐制作、内容创作和音频…

2026/8/12 9:36:40 阅读更多 →
OpenCV图像几何变换实战:缩放、翻转、旋转原理与最佳实践

OpenCV图像几何变换实战:缩放、翻转、旋转原理与最佳实践

1. 项目概述:图像几何变换的核心操作在计算机视觉和图像处理的实际项目中,图像的几何变换是最基础、最高频的操作,没有之一。无论是做数据增强、UI适配、内容识别还是简单的图片预览,你几乎都绕不开对图像进行缩放、翻转和旋转。很…

2026/8/12 9:36:40 阅读更多 →
3分钟掌握res-downloader:全网视频音频图片资源一键下载终极指南

3分钟掌握res-downloader:全网视频音频图片资源一键下载终极指南

3分钟掌握res-downloader:全网视频音频图片资源一键下载终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader …

2026/8/12 9:35:38 阅读更多 →

日新闻

Ubuntu 22.04安装与使用tree命令:高效管理Linux目录结构

Ubuntu 22.04安装与使用tree命令:高效管理Linux目录结构

1. 为什么需要一个“目录树”工具?在Linux世界里,尤其是Ubuntu这样的发行版,命令行是很多人的主战场。我们每天都要和文件、目录打交道。ls命令是查看目录内容的首选,它简洁、高效,能列出文件名、权限、大小等关键信息…

2026/8/12 9:33:34 阅读更多 →
博思AI智能体:意图识别、思考链与性能优化的工程实践

博思AI智能体:意图识别、思考链与性能优化的工程实践

在AI应用从“能用”走向“好用”的进程中,系统的响应速度、决策透明度与高并发稳定性是决定用户体验的关键。博思AI智能体近期完成了一次重要的专项优化,聚焦于意图识别、思考链展示与全链路压测三大核心领域,将系统从功能实现推向了工程卓越…

2026/8/12 9:33:34 阅读更多 →
子代理架构:AI智能体任务分解与协同执行的核心原理与实践

子代理架构:AI智能体任务分解与协同执行的核心原理与实践

1. 项目概述:为什么我们需要“子代理”?最近在折腾各种AI应用和自动化流程时,我越来越频繁地遇到一个瓶颈:单个AI智能体(Agent)的能力边界。无论是处理复杂的多步骤任务,还是需要同时调用多个专…

2026/8/12 9:33:34 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/12 1:11:09 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/12 1:11:09 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/12 1:11:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/11 17:09:45 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/12 1:11:10 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/11 17:09:45 阅读更多 →