Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

      /etc/init.d/mysql stop
      
    • Запустить гранты пропуска MYSQL:

      /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';