Synology NAS 上支持的第三方包中有开源的数据库系统 MariaDB 可以安装使用,但安装完成后,默认是不能进行远程访问的远程。本文简单的记录如何配置可以在局域网中进行远程访问。(基于群晖920+ DSM 7.2.2-72806 Update3)

操作步骤

通过 SSH 远程登录到 NAS 中,找到 Mariadb 的安装目录, 默认应该是 /usr/local/mariadb10 (安装的是 MariaDB 10)。进入 bin 目录中:

cd /usr/local/mariadb10/bin

你会看到在该目录中有客户端应用 - mysql。 执行 mysql 启动客户端:

./mysql -u root -p

输入在 NAS 的 Web 管理界面设置的 root 密码。 登录成功后,系统显示 MariaDB 的提示符, 类似如下:

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 13986
Server version: 10.11.6-MariaDB Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

执行以下 SQL 语句,先查看已有用户

SELECT User, Host FROM mysql.user;

一般会输出:
UserHost
PUBLIC
nextcloud%
mariadb.syslocalhost
mysqllocalhost
rootlocalhost

5 rows in set (0.003 sec)

方案一;
为 root 用户添加新的主机权限: 如果您希望保留现有的 root@localhost 用户,并允许 root 用户从 10.%%.%%.%% 网络连接,您可以创建一个新的用户条目:
1,CREATE USER 'root'@'10.%%.%%.%%' IDENTIFIED BY 'your_password';
2,GRANT ALL PRIVILEGES ON . TO 'root'@'10.%%.%%.%%' WITH GRANT OPTION;
3,FLUSH PRIVILEGES;
请将 your_password 替换为您希望设置的密码。

三条命令完毕后再次输入 SELECT User, Host FROM mysql.user; 检查如下:
UserHost
PUBLIC
nextcloud%
root10.%%.%%.%%
mariadb.syslocalhost
mysqllocalhost
rootlocalhost

6 rows in set (0.001 sec)

方案二;
更改现有 root 用户的主机: 如果您希望 root 用户能够从 10.%%.%%.%% 网络连接,而不再从 localhost 连接,您可以更新现有用户的主机:
1,RENAME USER 'root'@'localhost' TO 'root'@'10.%%.%%.%%';
2,GRANT ALL PRIVILEGES ON . TO 'root'@'10.%%.%%.%%' WITH GRANT OPTION;
3,FLUSH PRIVILEGES;
然后就可以用 10.x.x.x的主机使用root链接数据库了.

最后修改:2025 年 07 月 03 日
如果觉得我的文章对你有用,请随意赞赏