Я пытаюсь установить MySQL в порцию CentOS Linux release 7.2.1511
. Посмотрите на процесс установки:
# sudo yum install mysql-server
Вывод:
Dependencies Resolved
===========================================================================================================================================================================================================
Package Arch Version Repository Size
===========================================================================================================================================================================================================
Removing:
mysql-community-client x86_64 5.7.10-1.el7 @mysql57-community 109 M
mysql-community-server x86_64 5.7.10-1.el7 @mysql57-community 652 M
Transaction Summary
===========================================================================================================================================================================================================
Я управлял mysql Дэймон:
# sudo service mysqld start
Проверка сервиса:
# ps -ef|grep mysql
mysql 1371 1 0 22:17 ? 00:00:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Здесь возникает проблема, сводящая меня с ума. Я хочу установить пароль root в первый раз, поэтому я сделал:
# sudo mysql_secure_installation
// when password is required, I just type "enter key"
Но вывод: защита развертывания сервера MySQL.
Введите пароль для пользователя root: Ошибка: доступ запрещен для пользователя 'root' @ 'localhost' (используя пароль: НЕТ)
Погуглив ошибку, в 90% случаев решение заключается в вызове mysqld_safe --skip-grant-tables &
команды:
service mysqld stop
mysqld_safe --skip-grant-tables &
mysql --user=root mysql
update user set Password=PASSWORD('new-password') where user='root';
flush privileges;
exit;
Но mysqld_safe
выдает ошибку «команда не найдена». Я тоже проверял sudo mysqld --skip-grant-tables &
, но это ничего не делает. Я буду признателен, если вы направите меня в правильном направлении, чтобы установить пароль root. Заранее спасибо.
PATH
. Или вам нужны полные пути. (Это больше вопрос о Linux, чем вопрос о MySQL.)Ответы:
Если вы просто запустите команду mysql под пользователем root, вам будет предоставлен доступ без запроса пароля, потому что аутентификация сокета включена для root @ localhost.
Это руководство вводит в заблуждение.
Единственный способ установить пароль - переключиться на собственную аутентификацию, например:
источник
В моем безумном исследовании решения я посмотрел
/var/log/mysqld.log
и нашел следующую строку:Похоже, что MySQL 5.7+ генерирует случайный пароль при установке и запрашивается в этом файле.
источник
Используйте следующие шаги для сброса пароля:
Сбросьте пароль root для сервера MySQL.
Выведите что-то вроде:
Используйте указанный выше пароль во время сброса mysql_secure_installation процесса.
Вы успешно сбросили пароль root сервера MySQL. Используйте команду ниже, чтобы проверить соединение сервера MySQL или нет.
Смотрите мою статью: Установите последнюю версию MySQL 5.7 на RHEL / Centos 7
источник
Все вышеперечисленное не работает для меня, и обратите внимание, я потратил час или больше, пытаясь все другие предложения с веб-сайта MYSql ко всему на SO, я наконец получил его работать с:
Примечание: хотя он показывал «Введите пароль для пользователя root», у меня не было исходного пароля, поэтому я просто ввел тот же пароль, который будет использоваться в качестве нового пароля.
Примечание: не было /var/log/mysqld.log только /var/log/mysql/error.log
Запустите / usr / bin / mysql_secure_installation
Вывод из mysql_secure_installation
источник