Конфигурация базы данных CakePHP 4.0

    'default' => [
        'className' => Connection::class,
        'driver' => Mysql::class,
        'persistent' => false,

        'username' => 'root',
        'password' => 'root',
        'port' => '8889',

        'database' => 'rajasthan_skill_development',
        'timezone' => 'UTC',

        /**
         * For MariaDB/MySQL the internal default changed from utf8 to utf8mb4, aka full utf-8 support, in CakePHP 3.6
         */
        //'encoding' => 'utf8mb4',

        /**
         * If your MySQL server is configured with `skip-character-set-client-handshake`
         * then you MUST use the `flags` config to set your charset encoding.
         * For e.g. `'flags' => [\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4']`
         */
        'flags' => [],
        'cacheMetadata' => true,
        'log' => false,

        /*
         * Set identifier quoting to true if you are using reserved words or
         * special characters in your table or column names. Enabling this
         * setting will result in queries built using the Query Builder having
         * identifiers quoted when creating SQL. It should be noted that this
         * decreases performance because each query needs to be traversed and
         * manipulated before being executed.
         */
        'quoteIdentifiers' => false,

        /*
         * During development, if using MySQL < 5.6, uncommenting the
         * following line could boost the speed at which schema metadata is
         * fetched from the database. It can also be set directly with the
         * mysql configuration directive 'innodb_stats_on_metadata = 0'
         * which is the recommended value in production environments
         */
        //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],
    ],

В приведенном выше коде, где файл config/app.php расположен так, чтобы включить базу данных с использованием MySQL, я не могу загрузить базу данных и подключиться к базе данных MySQL с этой конфигурацией, где я могу найти ошибку, которую вы спрашиваете:

error file 
/Applications/MAMP/htdocs/sd/sd/vendor/cakephp/cakephp/src/Database/Driver.php

SQLSTATE[HY000] [1045] Access denied for user 'my_app'@'localhost' (using password: YES)

Я хочу прибегнуть к этой ошибке, чтобы найти решение, чтобы устранить ошибку. Вся помощь приветствуется. ВЫПЕКАТЬ!


person Prabhakar Siddhant    schedule 11.01.2020    source источник
comment
Похоже, что у пользователя «my_app» нет разрешения, добавьте правило в phpmyadmin (или что вы используете) для этого пользователя.   -  person Simone Rossaini    schedule 11.01.2020
comment
имя пользователя: root я назначил имя пользователя как root, но все равно вызов идет на my_app, плюс этот пользователь как root был определен, но вызов идет на my_app@localhost   -  person Prabhakar Siddhant    schedule 11.01.2020
comment
Странно, вы уверены, что пароль правильный? с рутом много времени пусто.   -  person Simone Rossaini    schedule 11.01.2020
comment
вот что он говорит: $user = 'root'; $пароль = 'корень'; Все еще ищу ответ.   -  person Prabhakar Siddhant    schedule 11.01.2020
comment
Ответ возможен здесь   -  person Simone Rossaini    schedule 11.01.2020
comment
ошибка по-прежнему сохраняется любой с предложением.   -  person Prabhakar Siddhant    schedule 11.01.2020


Ответы (2)


Настройки в app.php являются, так сказать, настройками по умолчанию/глобальными, и их можно переопределить, загрузив дополнительные файлы конфигурации, что обычно делается для предоставления более конкретной конфигурации для различных сред, локальных/разработки, подготовки, производства и т. д.

Начиная с CakePHP 4, шаблон приложения по умолчанию генерирует и загружает дополнительный файл конфигурации с именем app_local.php, который переопределяет некоторые настройки, включая конфигурацию источника данных.

Короче говоря, установите учетные данные в config/app_local.php вместо config/app.php.

Смотрите также

person ndm    schedule 11.01.2020

Вам нужно проверить, если у вас есть config/app_local.php, он переопределяет настройку в config/app.php.

person Amit    schedule 21.06.2020
comment
Я заставил работать config/app_local.php. Это прекрасно работает, у меня нет проблем с config/app_local.php. - person Prabhakar Siddhant; 23.06.2020