не могу подключиться к базе данных с помощью cake php и wampserver - PullRequest
0 голосов
/ 10 июля 2020

Я использую 64-битный WampServer и торт php 3.2 и win10. У меня новый компьютер и нужно перенести проект торт php. Существует пользователь Root со всеми привилегиями, без пароля и базы данных 'aptutori_apt4' n на phpmyadmin

Проект загружается, если ему не нужна база данных, но я получаю ошибку: sqlstate [hy000] [1049] unknown database 'aptutori_apt4' Я не могу подключиться к базе данных!

Неправильная настройка хоста?

 'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Mysql',
            'persistent' => false,
            'host' => 'localhost',
          
            //'port' => 'non_standard_port_number',
            'username' => 'root',
            'password' => '',
            'database' => 'aptutori_apt4',
            'encoding' => 'utf8',
            'timezone' => '+11:00',
            'flags' => [],
            'cacheMetadata' => true,
            'log' => false,

Это те же настройки, что и на другом моем компьютере в phpmyadmin и приложении. php. Новый компьютер отображается в phpmyadmin на вкладке базы данных Сервер: Mysql: 3308

1 Ответ

2 голосов
/ 10 июля 2020

Я думаю, ваша проблема в том, что недавно mariaDB стала базой данных по умолчанию в WAMPServer, поэтому mariaDB использует порт 3306 (по умолчанию почти для всего MySQL), а MySQL прослушивает порт 3308

Однако, если вы хотите использовать MySQL, простым решением было бы заменить базу данных по умолчанию в WAMPServer, и, конечно же, в меню WAMPManager есть инструмент для этого.

Right-click Wampmanager icon -> Tools -> Invert default DBMS MariaDB <-> MySQL

Сейчас MySQL будет использовать порт 3306, а mariaDB будет использовать порт 3307.

Теперь ваша конфигурация торта должна работать и найти правильную СУБД на порту 3306 и, следовательно, базу данных, которую вы там создали.

Это самое безопасное решение, так как при перемещении кода на работающий сервер он почти наверняка будет иметь MySQL / mariaDB, настроенный на использование порта 3306, и вам не нужно ничего менять в своей конфигурации.

Альтернативно

Вы можете указать номер порта, который MySQL прослушивает в этом параметре

'port' => '3308',

Но вы почти наверняка необходимо изменить это, когда сайт будет перемещен на Live Server, а затем вы создадите код разработки, и ваш live-код будет другим, если вы не помните, что не переносите этот файл после первого раза.

О и помните, что вы можете отменить это изменение в базе данных по умолчанию, просто go вернитесь к меню, и в меню, которое вы использовали в прошлый раз, должно быть указано

Right-click Wampmanager icon -> Tools -> Invert default DBMS MySQL <-> MariaDB

Сделайте это, и вы вернетесь в mariaDB, используя порт 3306

...