MySQL - доступ запрещен для пользователя 'root'@'localhost' (используется пароль: YES)

Я пытаюсь понять, почему каждый раз, когда я делаю новую установку mysql на OSX и импортирую базу данных, в ту минуту, когда я перезагружаю экземпляр mysql, мне выдается сообщение: Отказано в доступе для пользователя 'root'@'localhost' (используя пароль: ДА). Я сохранил пароль для root по умолчанию, и это разочаровывает. Я старался изо всех сил, чтобы убедиться, что другие экземпляры mysql не запущены. Монитор активности не сообщает о других экземплярах mysql, и при поиске pids другие экземпляры не отображаются. Кто-нибудь знает, что происходит?

2 ответа

Решение

Эта ошибка может возникать при импорте таблиц SQL, которые содержат саму базу данных MySQL, эта база данных содержит базовую схему, которую использует сам MySQL, это может вызвать серьезные проблемы при попытке попасть в базу данных. Убедитесь, что ваш импортированный дамп SQL содержит только ту базу данных, которую вы хотите импортировать, и ничего более.

Эта ошибка может возникнуть в следующих случаях:

  1. Используется неверный пароль. Поскольку вы упомянули, что вы установили пароль root по умолчанию, проверьте, включена ли блокировка CAPS.

  2. Это может произойти, если в файле опций указан неверный пароль. Попробуйте войти, используя:

    mysqladmin --no-defaults -u root -p pass
    
  3. Возможно, вам придется предоставить доступ к root.

    • Остановите MySQL:

      /etc/init.d/mysql stop
      
    • Старт грантов MYSQL Skippping:

      /usr/sbin/mysqld --skip-grant-tables --skip-networking &
      
    • Авторизоваться:

      mysql -u root
      
    • Сбросить привилегии:

      FLUSH PRIVILEGES;
      
    • Обновить пароль:

      SET PASSWORD FOR root@'localhost' = PASSWORD('password');
      UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
      
Другие вопросы по тегам