На этот вопрос уже есть ответ здесь:
Что я уже сделал:
sudo /etc/init.d/mysql stop
/usr/sbin/mysqld --skip-grant-tables --skip-networking &
После этого я получаю:
[Warning] Using unique option prefix key_buffer instead of
key_buffer_size is deprecated and will be removed in a future release.
Please use the full name instead.
150929 11:48:31[Note] /usr/sbin/mysqld (mysqld ....)starting as
process 3633 ...
И он не обрабатывается дальше.
Что делать?
Следующие шаги могли быть:
В терминале:
mysql
В оболочке mysql:
use mysql;
select user,password,host from user;
update user set password=password("newpassword") where user=root;
select user,password,host from user;
flush tables;
FLUSH PRIVILEGES;
quit
В терминале:
kill -15 `pgrep -f 'skip-grant-tables'
service mysql start
mysql -u root -p
Входят в Вашу систему как в пользователя UNIX, которого сервер MySQL выполняет как (например, mysql).
Остановка сервер MySQL, если это работает. Вы сделали это с:
su /etc/init.d/mysql stop
Создают текстовый файл, содержащий следующее утверждение на одной строке. Замените пароль паролем, который Вы хотите использовать.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Сохранили файл. Этот пример называет файл /home/me/mysql-init
. Файл содержит пароль, не сохраняйте его, где он может быть считан другими пользователями. Если Вы не зарегистрированы как mysql (пользователь выполнения сервера как), удостоверьтесь, что файл имеет полномочия, которые разрешают mysql читать его.
Запускают сервер MySQL со специального предложения --init-file
опция:
shell> /usr/sbin/mysqld --init-file=/home/me/mysql-init &
сервер выполняет содержание файла, названного --init-file
опция при запуске, изменяясь 'root'@'localhost'
пароль учетной записи.
После того, как сервер запустился успешно, удалите /home/me/mysql-init
.
Уничтожают mysqld
и запускают его с:
su /etc/init.d/mysql start
То, что Вы сделали, исправить, как объяснено в руководстве (см. руководство MySQL 5.5 под точкой B.5.4.1.3). В точке Вы остановились, Ваш сервер MySQL запущен без управления полномочиями. Все, что необходимо сделать, должно выполнить следующие шаги в вышеупомянутой ссылке (полученный в итоге по настоящему документу):
Подключение к Вашему серверу MySQL через терминал:
shell> mysql
Перезагрузка таблицы предоставления так, чтобы операторы ведения счетов работали:
mysql> FLUSH PRIVILEGES;
Изменение пароль (не забывают ;
в конце):
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
клиент MySQL Exit и перезапуск mysql сервер обычно:
mysql> exit;
shell> sudo service mysql restart
Между прочим, лучше использовать service start/stop/restart/status
для управления различными сервисами как mysqld
, чем использовать /etc/init.d/
, версия как Вы сделала.