Не удается войти в mysql после установки по умолчанию с Macports - PullRequest
2 голосов
/ 24 ноября 2011

Я установил mysql5 с помощью Macports, и кажется, что установка прошла проверку, но я вообще не могу войти на сервер.

Это то, что я сделал:

sudo portустановить mysql5-сервер

Это прекрасно собирает и устанавливает.

sudo / opt / local / lib / mysql5 / bin / mysql_install_db --user = mysql

Это тоже хорошо работает.Он выводит следующее:

Установка системных таблиц MySQL ... OK Заполнение таблиц справки ... OK

Чтобы запустить mysqld во время загрузки, вы должны скопировать файлы поддержки / mysql.server в нужное место для вашей системы

ПОЖАЛУЙСТА, ПОМНИТЕ, ЧТОБЫ УСТАНОВИТЬ ПАРОЛЬ ДЛЯ ПОЛЬЗОВАТЕЛЯ MySQL root!Для этого запустите сервер, затем введите следующие команды:

/ opt / local / lib / mysql5 / bin / mysqladmin -u root-пароль 'новый-пароль' / opt / local / lib / mysql5 /bin / mysqladmin -u root -h LeoMacBook.local пароль 'new-password'

В качестве альтернативы вы можете запустить: / opt / local / lib / mysql5 / bin / mysql_secure_installation

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

Дополнительные инструкции см. В руководстве.

Демон MySQL можно запустить с помощью: cd / opt / local;/ opt / local / lib / mysql5 / bin / mysqld_safe &

Вы можете протестировать демон MySQL с помощью mysql-test-run.pl cd / opt / local / mysql-test;perl mysql-test-run.pl

Пожалуйста, сообщайте о любых проблемах со скриптом / opt / local / lib / mysql5 / bin / mysqlbug!

Теперь ... давайте следоватьинструкции точно.Я запускаю сервер:

sudo / opt / local / lib / mysql5 / bin / mysqld_safe &

Сервер работает нормально.

Когда япопытаться изменить пароль root, я НЕ МОГУ войти в систему.

LeoMacBook: bin leonardteo $ / opt / local / lib / mysql5 / bin / mysqladmin -u пароль root 'новый пароль' / opt /local / lib / mysql5 / bin / mysqladmin: ошибка подключения к серверу на локальном хосте: ошибка: «Доступ запрещен для пользователя» root «@ localhost» (с использованием пароля: НЕТ) '

I'м в конце концов.

Я запустил сервер с --skip-grant-tables.С этим я могу загрузить MySQL нормально из командной строки, и я подключен к серверу.Когда я запускаю SELECT * FROM mysql.user ;, он возвращает пустой набор!С помощью этого я попытался создать нового пользователя, вызвав команду:

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'root' @ 'localhost' IDENTIFIED BY 'root';

Но это не работает.Я получаю сообщение об ошибке:

ОШИБКА 1290 (HY000): Сервер MySQL работает с параметром --skip-grant-tables, поэтому он не может выполнить этот оператор

Я не могу заставить это работать.Кажется, я так близко, но, кажется, пользователь root отсутствует.

Есть идеи?

Леонард

1 Ответ

4 голосов
/ 24 ноября 2011

Как только вы запустите mysql с --skip-grant-tables, введите запрос flush privileges;. Это снова включит систему разрешений и позволит вам выполнять обычные запросы grant и create user.

...