Як запустити / зупинити сервер mysql?


211

Я намагався знайти в деяких статтях опис того, як правильно запустити та зупинити сервер 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. Класно!

Отже, що не так з іншими командами? Чому вони призводять до помилок?


3
Насправді навіть з sudo це не спрацювало для мене, але тоді я знайшов у скрипті наступну підказку: Замість того, щоб викликати скрипти init через /etc/init.d, скористайтеся сервісом (8), і все було нормально
Тимофей

2
Тім правильно. Використовуйте послугу sudo mysql start .
Ед Мане

Як правило, ви можете використовувати sudo -l, щоб побачити, що ваш конкретний користувач у вашій конкретній системі може робити з sudo. (Ваші дозволи налаштовані в / etc / sudoers.) Однак я точно не знаю, чи допоможе це в цьому конкретному випадку. EDIT: Зачекайте, неважливо, помилка в доступі, заборонена в доступі, виглядає так, що вона надходить з MySQL або чогось іншого, а не sudo.
David Winiecki

Відповіді:


230

Ваші перші дві команди не запускалися як 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 роки, тому її потрібно взяти з сіллю :)


7
Також спробуйте послугу sudo service mysql start

2
start mysqlпрацював на мене (Ubuntu 12.04.4).
Тім

3
sudo /etc/init.d/mysql restartперезапустив MySQL для мене
Едвард

6
як щодо sudo systemctl start mysqlUbuntu 16.04 і новіших версій?
Анкіт Балян

86

Також допомагає повторно перевірити, чи "mysql" - це правильна назва служби. У моєму випадку це було не так. Я постійно отримував таку відповідь: mysql: нерозпізнаний сервіс під час роботи

service mysql status 

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

Так я і зробив

service mysqld status
service mysqld stop
service mysqld start 

і всі вони працювали чудово.


4
mysql: unrecognized service
Зелений

7
Принаймні 13.10, вам потрібно буде запустити його з правами root. наприклад, "статус служби sudo mysql".
Брайс

13
Для 14.10 мені потрібно було використовувати "mysql", а не mysql d
redanimalwar

1
якщо працювати без кореневих прав, це скаже unknown job: mysql. трохи заплутано
Blauhirn

Failed to start mysqld.service: Unit mysqld.service not found.
JCarlos

30

Для Ubuntu 12.10 та новіших версій:

ЗАПУСК МИСЛИ:

sudo start mysql

RESTART MYSQL:

sudo restart mysql # The service must be running

ЗАСТАНОВИТИ MYSQL:

sudo stop mysql # The service must be running

3
stop: Unknown job: mysql
Зелений

@Green Я просто спробував це (через рік), і він все ще працює. Це мій результат: mysql stop/waiting. Ви повинні знати, що вам доведеться вже бігти, mysqlщоб зупинити це;)
Lucio

1
Герою, ти врятуєш мені життя, що місклд так довго займав мою пам'ять машини. Я намагався всілякі способи її видалити, але всі не вдалися, поки я не зустрівся з вашою відповіддю.
Дзен

sudo: start: command not found
JCarlos

1
@JCarlos Doapt install upstart
Едвард

9

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

service mysql start

Тому я отримав рішення, що сервер MySQL не встановлений, тому я встановив його і моя проблема була вирішена. Команда для встановлення mysql-сервера:

sudo apt-get install mysql-server

Після успішної установки запустіть сервер MySQL як:

service mysql start

4

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

sudo service mysql restart

сподіваємось, ця команда спрацює для вас.



2

після встановлення MySQL у вашій системі просто зробіть це:

$ служби mysql статус

якщо сервіс вниз просто робить це:

$ service mysql start

і для припинення моєї служби, що:

$ сервіс mysql стоп


1
/etc/init.d/mysql startі service mysql startточно такі самі.
шторм

1

Я зіткнувся з тією ж проблемою, і я видалив і встановив знову, виконавши команди нижче:

1) sudo apt-get --purge видалити mysql-сервер mysql-загальний mysql-клієнт

2) оновлення sudo apt & & sudo apt dist-upgrade && sudo apt autoremove

3) sudo apt-get install -y mysql-сервер mysql-client


0

Невеликий сценарій для покриття обох випадків [сервер працює / сервер не працює]:

#!/bin/bash

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

0

У ubuntu 18.04 сокет визначається у файлі

 /etc/mysql/mysql.conf.d/mysqld.cnf

 socket     = /var/run/mysqld/mysqld.sock

Каталог відсутній, тому я створив його вручну, як показано нижче:

sudo mkdir -p /var/run/mysqld

Перезапустіть mysql. Це вирішило це для моєї справи тут.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.