用户'rdonly'@'localhost'拒绝访问(使用密码:YES)

时间:2015-02-04 16:33:28

标签: php mysql mysqli xampp

我已经编写了一个PHP应用程序。它使用没有密码的根ID工作正常。然后我更改了密码和PHP代码,这很好。

我想创建一个新用户&rbsply'使用只读访问数据库,以便没有人知道root密码(嵌入在PHP中)。我做了更改并得到了上述错误。

然后我给了rdonly'与root相同的权限,以查看它是否缺少权限。同样的错误。

我检查了类似的错误消息。有人建议查看' config.php.ini'文件。我做了,但它没有包含root的新密码,因为新密码有效,所以我会收到类似的错误。

/* config.php.ini */
$cfg['Servers'][$i]['auth_type']     = 'cookie';      // Authentication method (config, http or cookie based)
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';

我不确定为什么ini文件是相关的,因为XAMPP(3.2.1)似乎让你更改权限。

我做了以下更改,将'%'我读到这意味着所有数据库(不包括' localhost')所以我添加了' Localhost'进入也是如此。不确定其他根条目是什么!

rdonly % global                     all-privileges<P>
       % database specific          all-privileges<P> 
rdonly localhost global             all-privileges<P>
       localhost database specific  all-privileges <P>
root   127.0.0.1 global             all-privileges<P>
       127.0.0.1 database specific  all-privileges <P>
root   ::1       global             all-privileges<P>
       ::1       database specific  all-privileges <P>
rdonly localhost global             all-privileges<P>
       localhost database specific  all-privileges <P>

(抱歉,不能将图片用作新手)

当我进入&#39; Admin&#39;在XAMPP上它确实要求我登录,当root密码为空时它没有。我不能使用“rdonly&#39; ID和密码。

我的代码落在了Mysql连接语句中:

这有效:

$con=new mysqli("localhost", "root", "password", "mysql");

这不是:

$con=new mysqli("localhost", "rdonly", "password", "mysql");

非常感谢您的建议。只是看不出是什么问题。

0 个答案:

没有答案