Задать вопрос
@defmin

Что не так с параметром — password = root?

Сейчас не могу в точности воспроизвести проблему, но дело было так (код примерный):

$container = new Container();

$container->set('settings', fn() => [
    'database' => [
        'dsn' => 'mysql:host=' . env('DB_HOST', 'example') . ';dbname=' . env('DB_NAME', 'example'),
        'username' => env('DB_USER', 'example'),
        'password' => env('DB_PASS', 'example')
    ]
]);

$settings = $container->get('settings');

var_dump($settings); // 'database' => ['dsn' => 'mysql:host=127.0.0.1;dbname=example', 'username' => 'root', 'password' => 'root']

$container->set(PDO::class, function() use ($settings) {
    $database = $settings['database'];

    return new PDO(
        $database['dsn'],
        $database['username'],
        $database['password'] // потом БУДЕТ ошибка в этой строке
    );
});

var_dump($container->get(PDO::class)); // ожидается object(PDO), но получаем - Connection refused, ошибка в строке, в которой прописано - $database['password']


и там ещё в трассировке было (по памяти всё пишу), что-то вроде:

new PDO('mysql:host=127.0.0.1;dbname=example', 'root', '[какой-то_неприкосновенный_параметр]'), дословно текст не помню про параметр, там не неприкосновенный, а как-то ещё написано было

Я понимаю, что конфликт с паролем - root, но никогда не сталкивался с такой проблемой и нет опыта правильного её решения. Дело в том, что использовал ранее разные линуксы, с такой ошибкой не сталкивался и на последнем, который использовал - AltLinux Рабочая станция К 10 всё работало, вчера установил AltLinux Рабочая станция К 11 BETA, развернул мускул по Этому мануалу и поймал ошибку эту.

Как исправить правильно?
  • Вопрос задан
  • 385 просмотров
Подписаться 1 Простой 19 комментариев
Решения вопроса 1
borisdenis
@borisdenis
Ленив и вреден...
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

У вас пользователь 'root'@'localhost', а вы пытаетесь подключиться под 'root'@'127.0.0.1', в некоторых системах это довольно большая разница.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы