Database cakephp错误。数据库连接…未…:拒绝用户访问';我的应用程序&x27@';本地主机';(使用密码:是)
我正在尝试开始CakePHP。我制作了书签,并通过命令Database cakephp错误。数据库连接…未…:拒绝用户访问';我的应用程序&x27@';本地主机';(使用密码:是),database,cakephp,default,cakephp-3.0,Database,Cakephp,Default,Cakephp 3.0,我正在尝试开始CakePHP。我制作了书签,并通过命令bin\cake server进行了测试。显示一个错误,因为无法建立到数据库的连接: SQLSTATE[HY000][1045]拒绝用户'my_app'@'localhost'的访问(使用密码:YES)。 我阅读了config/app.default.php文件。它说有一个数据库myu-app和另一个数据库test\u-myapp,有一些用户。我在xampp的phymyadmin中找不到这些数据库。我应该手动创建命名数据库和用户吗?我认为Ca
bin\cake server
进行了测试。显示一个错误,因为无法建立到数据库的连接:
SQLSTATE[HY000][1045]拒绝用户'my_app'@'localhost'的访问(使用密码:YES)。
我阅读了
config/app.default.php
文件。它说有一个数据库myu-app
和另一个数据库test\u-myapp
,有一些用户。我在xampp的phymyadmin中找不到这些数据库。我应该手动创建命名数据库和用户吗?我认为CakePHP应该自动创建这些。或者我应该给出我喜欢的数据库名称等,并创建相同的名称。我在windows 7中使用xampp,我对CakePHP非常陌生。Cake不会为您创建数据库或数据库用户。您需要自己创建它们,然后将这些数据库凭据匹配到db配置文件中。app/Config/app.php
文件中的数据源应类似于:
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'my_db_user',
'password' => 'my_db_user_password',
'database' => 'cake_database_name',
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
]
],
在本例中,您必须创建一个名为:cake\u database\u name的数据库,然后添加一个名为my\u db\u user的数据库用户,密码为my\u db\u user\u password请参见Mysql.php: 类Mysql扩展了驱动程序 { 然后在app.php中写入
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
/**
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//'port' => 'non_standard_port_number',
'username' => 'root',
'password' => '',
'database' => 'cake',
'encoding' => 'utf8',
'timezone' => 'UTC',
'flags' => [],
'cacheMetadata' => true,
'log' => false,
...],
phpMyAdmin中的
创建蛋糕数据库。
就这些。错误:
用户“我的应用程序”@“本地主机”的SQLSTATE[HY000][1045]访问被拒绝
(使用密码:是)
原因:
没有在config/app.php中设置密码为“secret”[或任何其他]的用户id:“my_app”
文件
解决方案:
如果是WAMP,请转到phpmyadmin页面,然后我们可以选择cake\u cms
数据库->权限->创建用户id和密码,与配置中相同
文件config/app.php,刷新页面。
现在应该显示出来了
CakePHP能够连接到数据库
编辑带有数据库连接参数的Config/app_local.php文件。您将找到主机、用户名、密码和数据库名称 不要使用数据库连接参数编辑config/app.php 您的问题现在将得到解决 CakePHP 4.x
- 使用数据库连接参数,即主机、用户名、密码、数据库名称,编辑Config/app_local.php而不是Config/app.php文件。这将解决问题
- 请确保首先创建相同的数据库,并为正在app_local.php文件中编写的同一用户提供足够的权限
并在app_local.php的行下取消提交
'port' => '3308',
CakePHP3.9.3,app_local.php,'username`=>'root','password'=>'','database'=>'db name'test_myapp是cakephp自己建立的一个测试数据库。非常感谢McWayWeb,特别是你详细的回答方式。你让它变得非常简单。你准确地判断了我的能力水平,并给出了一个简单的解释!我为cake和其他人添加了一个数据库对于测试。我还创建了一个具有一些权限的用户。我根据我创建的两个数据库更改了config.app.php中的值。仍然是bin\cake server命令给出了拒绝用户“my_app@”localhost(使用密码:YES)访问的错误。它甚至不应该使用名称“my_app”,因为我在config/app.php中更改了它,但它仍然存在。请帮助。我还按照cake docs的建议在第一个数据库中创建了4个表。我现在得到了它。我编辑了错误的app.php。我现在编辑了更高的app.php,它运行良好。它连接到了数据库。我很高兴。非常感谢。哪个应用程序。php文件您是否更改了?请在您的答案中添加一些解释,以便其他人可以从中学习
'port' => '3308',