2015-10-19 63 views
0

我是新成立的数据库,我安装了EasyPHP(e-devserver 14.1 VC9),设法通过phpMyAdmin为root用户的'127.0.0.1'地址分配密码,因为它表示将密码留空不是一个好主意。我编辑了'localhost'到相同的密码。这给了我很多其他人得到的1045错误,设法找到配置文件并将其编辑为this link说。但是,IPv6(:: 1主机)仍然没有密码,虽然我可以在phpMyAdmin中编辑它,但如果我收到另一个错误,我没有找到编辑该文件的文档。根IPv6/:: 1地址在phpMyAdmin中是否需要密码?

如果没有密码,该地址是否易受攻击?如果是的话,我该如何指定一个没有错误的地址?

+0

更改密码没有问题,我似乎能够访问phpMyAdmin就好了。也许我应该为此提出一个新问题,但是如果我要创建管理员帐户并且不想使用root帐户,我应该授予他们什么权限? – gpii

+0

您通常希望让1个root帐户可供恢复和帐户管理访问。在真实环境中,您创建的每个后续帐户应该只有有限的权限才能访问他们打算使用的数据库(不能创建数据库,访问其他用户的数据库或创建用户并授予权限)。这是根帐户的用途。 – drew010

回答

0

如果有人到你的服务器直接访问,他们可以尝试通过IPv6使用以下命令连接到MySQL:mysql -h ::1 -u root -p

如果有一个MySQL root用户'root'@'::1',没有密码,那么他们可能会获得访问权。

或者,如果他们能够将PHP脚本上传到配置为使用(PDO,mysqli等)通过IPv6进行连接的服务器,则可以获取脚本进行连接。

您可以检查,看看是否根IPv6的连接是通过运行下面的查询允许:

select user, host from mysql.user; 

如果您在列表中看到类似的东西root | ::1或任何其他IPv6地址,有可能是用户配置的IPv6主机访问。

要更改现有的IPv6用户的密码,发出类似的查询:

SET PASSWORD FOR 'root'@'::1' = PASSWORD('cleartext password'); 

如果用户不存在,你想添加它,使用:

CREATE USER 'root'@'::1' IDENTIFIED BY 'cleartext password'; 

然后,您需要grant该帐户的适当权限。