我在互联网上设置了一个网站,我尝试在本地托管并测试它。通常,在Drupal中,可以从settings.php
文件配置数据库连接,该文件位于:'sites'default
。
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'testweb',
'username' => 'testweb',
'password' => 'root',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);
MySQL的web用户名和数据库名相等,即testweb.
这是我得到的错误。
PDOException: SQLSTATE[28000] [1045] Access denied for user 'testweb'@'localhost' (using password: YES) in lock_may_be_available() (line 167 of C:'wamp'www'testweb'includes'lock.inc).
我想知道的另一件事是Drupal是否在数据库中存储数据库连接字符串。
我在stackoverflow中看到过这个问题,但是它没有继续正确的解决方案。
我使用了另一种解决方案,即我使用默认的mysql用户来连接数据库
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'testweb',
'username' => 'root',
'password' => '',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);
这是帮助我解决我的问题。如果您使用的是wamp服务器,则可以在以下位置找到默认用户。
C:'wamp'apps'phpmyadmin3.5.1
文件是config.inc.
我假设的是,我为testweb数据库创建的用户不反映它的权利,或者它没有被正确创建,因为我非常确定我给出的用户名和密码以及默认用户名和密码的工作。
您的用户名或密码或数据库名称可能不正确。
你可以尝试连接到你的数据库与一些mysql客户端或phpmyadmin,并检查他们是否正确,我敢肯定其中一个不是:)
你可以很容易地在phpmyadmin http://wiki.phpmyadmin.net/pma/user_management创建新用户