找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 819|回复: 14

【教程】自建DNF外网服务器的数据库密码修改

[复制链接]

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
发表于 2025-4-21 17:25:34 | 显示全部楼层 |阅读模式
修改数据库的账户密码有以下好处:
1.防止恶意人士通过外网对数据库攻击,导致dnf的游戏数据损坏。
2.通过在数据库新增登录专用账户,防止登录客户端泄露数据库的管理员账户信息,保证只有服务器管理员才可以使用GM工具。
回复

使用道具 举报

2095

主题

1万

回帖

6万

积分

出神入化

积分
66982
发表于 2025-4-21 17:25:54 | 显示全部楼层
前排占位,感谢分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:26:45 | 显示全部楼层
一、准备工作
1.DNF环境搭建完成的服务器(可以登录游玩)
2.连接并登录进服务器里的数据库
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:27:39 | 显示全部楼层
二、修改数据库的管理员密码,防止恶意人士通过外网破坏自己的服务器数据库
提示:DNF一键搭建脚本默认配置的数据库账户密码非常简单,大家都知道的账户密码不安全,很容易被别人利用攻击,所以需要修改为一个只有自己知道的复杂密码。
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:27:44 | 显示全部楼层

打开自己的数据库,使用鼠标点击,按照图片里的顺序1、2、3,新建查询

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:28:40 | 显示全部楼层
完成上面一步后:会打开一个查询编辑器。
1.在【图标1】处输入 select user,host from mysql.user;
2.鼠标单击【图标1】上方不远处的《运行》
3.查看【图标2】处的显示结果,确保存在有上面两条数据(game %)和(game 127.0.0.1)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:29:22 | 显示全部楼层
上一步操作是确认数据库已有账户不存在问题,两个数据库管理员账户中(game %)是gm工具登录使用的数据库账户,坏人也是利用这个账户来破坏数据库的,后面我们要修改它的密码。(game 127.0.0.1)是DNF服务端使用的数据库账户,不要修改它,也不需要修改,它不会被恶意利用,修改后会导致DNF服务端无法运行。
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:30:13 | 显示全部楼层
1.在[图标1]处的查询编辑器里输入代码:
set password for game@'%' = password('abc');
flush privileges;
上述代码里面的abc就是你想要为账户(game %)修改的密码,注意密码的复杂度要包含字母、数据、符号,简单的密码非常容易被脚本攻击,abc只是我演示所用。
比如你想修改密码为Xbw23|&23,则代码要修改成:
set password for game@'%' = password('Xbw23|&23');
flush privileges;
2.在[图标2]处确认代码的运行结果,显示内容的格式和图片里一样,即是运行成功。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:30:42 | 显示全部楼层
完成以上内容后,数据库管理员的密码就被修改成了只有自己一个人知道的密码,我们成功的保护了自己的DNF数据安全
回复 支持 反对

使用道具 举报

2098

主题

1万

回帖

6万

积分

出神入化

积分
67279
发表于 2025-4-21 17:31:01 | 显示全部楼层
多谢大佬指点

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:31:32 | 显示全部楼层
三、创建一个数据库登录专用账户
一般搭建DNF服务器后,会邀请朋友来一起游玩,就需要把DNF登录客户端文件发给朋友,但是客户端里存有数据库的管理员账户密码,因为客户端的注册和登录功能需要连接数据库。为了防止朋友使用管理员账户配合gm工具给自己发道具,这时就需要一个只有登录和注册权限的数据库专用账户,这个专用账户只能用于DNF的登录和注册,哪怕泄漏了也不影响什么。
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:32:08 | 显示全部楼层
1.在【图标1】处的查询编辑器中输入代码:
create user dnf@'%' identified by '1';
GRANT SELECT, INSERT ON `d_taiwan`.`accounts` TO dnf@'%';
flush privileges;
运行后会创建一个(dnf %)的数据库账户,这个账户只有登录和注册"DNF账户"的功能,它就是我们想要的"登录专用账户"。
2.检查【图标2】处的内容显示格式和图片里一样,确认代码正确执行。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:32:41 | 显示全部楼层
修改DNF登录端目录的game.ini文件,将里面的数据库管理员账号修改为我们创建的登录专用账户

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:33:08 | 显示全部楼层
内容如图片所示,用上面创建的登录专用账户填写DBUser和DBPass,账户是dnf,密码是1。后面我会讲解登录专用账户创建时的代码。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

2000

主题

1万

回帖

6万

积分

出神入化

积分
66044
 楼主| 发表于 2025-4-21 17:33:47 | 显示全部楼层
代码讲解:
①:create user dnf@'%' identified by '1';
创建一个账户(dnf %):账户名为dnf,密码为1。如果你想创建账户名为myself,密码为abc的账户(myself %),则代码为:
create user myself@'%' identified by 'abc';
②:GRANT SELECT, INSERT ON `d_taiwan`.`accounts` TO dnf@'%';
赋予账户(dnf %)登录和注册的权限,SELECT代表登录权限、INSERT代表注册权限。如果你只想给账户(myself %)登录权限,而不给注册权限,则代码为:
GRANT SELECT ON `d_taiwan`.`accounts` TO myself@'%';
③:flush privileges; 更新数据库的权限信息,让新建的数据库账号立即生效。这段代码是必要不可修改的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表