Вопрос: Как запустить / остановить сервер mysql?


Я попытался найти в некоторых статьях, описывающих, как правильно запустить и остановить сервер mysql.

Я нашел эту ссылку: Как запустить / остановить сервер MySql на Ubuntu 8.04 | Мир блогов Абхи

Я выполнил эту команду:

/etc/init.d/mysql start 

но я вижу эту ошибку

ERROR 1045 (28000) Access denied for user....

После того, как я попробовал эту команду:

sudo /etc/init.d/mysql start

Я ввел свой пароль, и снова вижу ту же ошибку.

Следующая команда:

sudo /etc/init.d/mysql - root -p start

результаты:

ERROR 1049 (42000) Unknown database 'start'.

И когда я запускаю эту команду:

sudo service mysql start

Начался успех сервера MySQL. Круто!

Итак, что случилось с другими командами? Почему они приводят к ошибке?


181
2017-11-24 16:12


Источник


На самом деле, даже с sudo это не сработало для меня, но затем я нашел в скрипте следующий намек: Вместо вызова сценариев инициализации через /etc/init.d используйте службу (8)и это было нормально - Tim
Тим прав. использование sudo service mysql start, - Ed Manet
Как правило, вы можете использовать sudo -l, чтобы узнать, что ваш конкретный пользователь в вашей конкретной системе разрешен делать с помощью sudo. (Ваши разрешения настраиваются в / etc / sudoers.) Однако я не знаю точно, поможет ли это в этом конкретном случае. EDIT: Подождите, неважно, ошибка, связанная с доступом, выглядит так, как будто она исходит из MySQL или чего-то еще, а не sudo. - David Winiecki


Ответы:


Первые две команды не выполнялись как root, поэтому это ожидаемое поведение. Вы должны быть root, чтобы остановить / запустить mysql.

Однако:

sudo /etc/init.d/mysql start

должно сработать. Действительно, для меня это:

kojan:~> sudo /etc/init.d/mysql restart
[sudo] password for chris: 
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

Я использовал перезапуск, а не запуск, поскольку он уже запущен, но эффект тот же. Вы уверены, что правильно ввели свой пароль? :) Вы вообще отредактировали свою конфигурацию sudo, которая остановила бы эту работу?

Вот этот..

sudo /etc/init.d/mysql - root -p start

Аргументы неверны. сценарий init.d принимает только start или stop или restart - всего лишь одно слово, говорящее, что делать. Вы не можете дать ему несколько аргументов, как вы пытались сделать.

Во всяком случае, короткий ответ - тот, который вы на самом деле получили на работу, является рекомендуемым способом. service заменяет все скрипты init.d с течением времени, поэтому вы должны привыкнуть к использованию service, Страница, на которую вы ссылаетесь, составляет 3 года, поэтому ее нужно взять с солью :)


206
2017-11-24 16:24



Также попробуйте sudo service mysql start
start mysql работал для меня (Ubuntu 12.04.4). - Tim
sudo /etc/init.d/mysql restart перезагрузил MySQL для меня - Edward
как насчет sudo systemctl start mysql для Ubuntu 16.04 и выше? - Ankit Balyan


Также помогает дважды проверить, что «mysql» является правильным именем службы. В моем случае это не так. Я продолжал получать следующий ответ: mysql: нераспознанная служба при запуске

service mysql status 

Затем я проверил /etc/init.d и нашел скрипт с именем mysqld, в котором указано имя процесса: mysqld и prog = mysqld

Тогда я сделал

service mysqld status
service mysqld stop
service mysqld start 

и все они отлично работали.


71
2018-03-15 16:58



mysql: unrecognized service - Green
По крайней мере, 13.10, вам нужно запустить его с правами root. например, "sudo service mysql status". - Bryce
Для 14.10 мне нужно было использовать «mysql», а не mysqld - redanimalwar
при запуске без прав root это скажет unknown job: mysql, немного запутанным. - Blauhirn
Failed to start mysqld.service: Unit mysqld.service not found. - JCarlos


Для Ubuntu 12.10 и более поздних версий:

START MYSQL:

sudo start mysql

RESTART MYSQL:

sudo restart mysql # The service must be running

STOP MYSQL:

sudo stop mysql # The service must be running

30
2017-12-15 00:04



stop: Unknown job: mysql - Green
@Green Я просто попробовал это (через год), и он все еще работает. Это мой результат: mysql stop/waiting, Вы должны знать, что вы должны быть уже запущены mysql остановить это;) - Lucio
Герой, вы спасете мою жизнь, что mysqld так долго занимался моей машинной памятью. Я попробовал всевозможные методы, чтобы удалить его, но все провалилось, пока я не встретил ваш ответ. - Zen
sudo: start: command not found - JCarlos
@JCarlos Do apt install upstart - Edward


На самом деле, я получил странную ошибку, когда я установил mysql-workbench на свою машину Ubuntu. После этого я попытался запустить службу mysql, используя следующую команду:

service mysql start

Поэтому я получил решение, что сервер MySQL не был установлен, поэтому я установил его, и моя проблема была решена. Команда для установки mysql-сервера:

sudo apt-get install mysql-server

После успешной установки запустите сервер MySQL как:

service mysql start

8
2017-11-28 16:41





Это должно работать для встроенного в MySQL сервера mysql:

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql

2
2018-02-01 12:04





Маленький сценарий для покрытия обоих случаев [сервер работает / сервер не работает]:

#!/bin/bash

service mysql restart
if [ "$?" != "0" ]; then
  service mysql start
fi

0
2017-07-04 15:46





после установки MySQL в вашей системе просто выполните это:

$ service mysql status

если служба просто делает это:

$ service mysql start

и для остановки моего обслуживания, что:

$ service mysql stop


0
2017-07-26 08:42



/etc/init.d/mysql start а также service mysql start точно такие же. - storm


У меня была такая же проблема с Ubuntu64, и я исправил ее просто не используя systemctl, но вместо этого:

sudo service mysql restart

надеюсь, эта команда будет работать на вас.


0
2018-04-26 14:24