我是设置数据库的新手,我安装了EasyPHP(e-devserver 14.1 VC9),设法为root用户分配密码' 127.0.0.1'通过phpMyAdmin解决,因为它说密码留空是一个坏主意。我编辑了#localhost'到相同的密码。这给了我许多其他人得到的1045错误,设法找到配置文件并编辑它this link说。但是,IPv6(:: 1主机)仍然没有密码,虽然我可以在phpMyAdmin中编辑它,如果我收到另一个错误,我没有找到关于在哪里编辑它的文档。
如果没有密码,该地址是否容易受到攻击,如果是这样,如何在没有错误的情况下分配该地址?
答案 0 :(得分:0)
如果有人可以直接访问您的服务器,他们可以尝试使用以下命令通过IPv6连接到MySQL:mysql -h ::1 -u root -p
如果有没有密码的MySQL root用户'root'@'::1'
,那么他们就可以访问。
或者,如果他们能够将PHP脚本上传到配置为通过IPv6连接的服务器(PDO,mysqli等),那么他们就可以获得要连接的脚本。
您可以通过运行以下查询来检查是否允许root 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该帐户的相应权限。