--- title: "MySQL MariaDB 数据库详细信息" type: source tags: [database, mariadb, mysql, nas, synology] date: 2026-04-15 --- ## Source File - [[raw/Home Office/MySQL MariaDB 数据库详细信息.md]] ## Summary - 核心主题:Synology NAS Docker MariaDB 10.11 内网/公网访问配置与用户权限管理 - 问题域:NAS 部署的 MariaDB 仅允许 localhost 访问,远程连接需手动创建用户 - 方法/机制:socket 本地登录 → CREATE USER → GRANT ALL PRIVILEGES → FLUSH PRIVILEGES - 结论/价值:建立 NAS 统一数据库层,支持公网域名 mysql.ishenwei.online:63307 访问 ## Key Claims - Synology Docker MariaDB 默认只允许 root@localhost 连接,不存在 root@% 或任何远程用户 - 远程连接失败的根因是缺少 host/user 组合与对应权限 - 创建 'shenwei'@'%' 可实现任意 IP 的远程访问,但密码强度必须符合 MariaDB 策略要求 ## Key Quotes > "进入 MariaDB(使用 socket 登陆):sudo mysql -u root -p -S /run/mysqld/mysqld10.sock" — 本地 socket 登录方式 > "CREATE USER 'shenwei'@'%' IDENTIFIED BY '!Abcde12345'; GRANT ALL PRIVILEGES ON *.* TO 'shenwei'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;" — 远程访问用户创建标准 SQL ## Key Concepts - [[Socket登录]]:通过本地 socket 文件 /run/mysqld/mysqld10.sock 连接 MariaDB,无需 TCP 端口认证 - [[MariaDB用户权限模型]]:host + user 组合决定访问权限,localhost 表示仅本机,% 表示任意 IP - [[FLUSH PRIVILEGES]]:将内存中的权限表重新读取到内存,使权限变更立即生效 ## Key Entities - [[Synology NAS]]:硬件平台(192.168.3.17),MariaDB 10.11.6 运行在 Docker 容器内 - [[MariaDB]]:MySQL 分支数据库,版本 10.11.6,端口 3307(内网)、63307(公网) - [[Cloudflare]]:域名 mysql.ishenwei.online DNS 解析层 ## Connections - [[MySQL MariaDB 数据库详细信息]] ← runs_on ← [[Synology NAS]] - [[MySQL MariaDB 数据库详细信息]] ← accessible_via ← [[Cloudflare]](公网域名反向代理) ## Contradictions ## Internal Access Credentials | 项目 | 值 | |------|-----| | IP | 192.168.3.17 | | Port | 3307 | | Username | shenwei / root | | Password | !Abcde12345 | ## Public Access Credentials | 项目 | 值 | |------|-----| | Domain | mysql.ishenwei.online | | Port | 63307 | | Username | shenwei / root | | Password | !Abcde12345 |