Ваши первые две команды не были запущены от имени 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. Страница, на которую вы ссылаетесь, была написана в 2008 году, поэтому к ней следует отнестись с некоторой солью :)
Также помогает дважды проверить, что "mysql" является правильным именем службы. В моем случае это было не так. Я продолжал получать следующий ответ: mysql: нераспознанная служба при запуске
service mysql status
Затем я проверил /etc/init.d и нашел скрипт с именем mysqld, в котором указано имя процесса: mysqld и prog=mysqld
И тогда я так и сделал
service mysqld statusservice mysqld stopservice mysqld start
На самом деле, я получил странную ошибку, когда установил mysql-workbench на свой компьютер Ubuntu. После этого я попытался запустить службу mysql с помощью этой команды:
service mysql start
Итак, я получил решение о том, что сервер MySQL не был установлен, поэтому я установил его, и моя проблема была решена. Команда для установки mysql-сервера - это:
sudo apt-get install mysql-server
После успешной установки запустите сервер MySQL как:
На самом деле, даже с sudo у меня это не сработало, но потом я нашел в скрипте следующую подсказку: * Вместо того, чтобы вызывать сценарии инициализации через /etc/init.d, используйте service(8) * и все было в порядке
Как правило, вы можете использовать sudo -l, чтобы узнать, что вашему конкретному пользователю в вашей конкретной системе разрешено делать с sudo. (Ваши разрешения настроены в /etc/sudoers.) Однако я не знаю наверняка, поможет ли это в данном конкретном случае. РЕДАКТИРОВАТЬ: Подождите, неважно, ошибка “отказано в доступе” выглядит так, как будто она исходит от MySQL или чего-то в этом роде, а не от sudo.