Як зупинити роботу mysql під час завантаження?


55

Наразі мій сервер MySQL запускається при кожному завантаженні сервера. З кількох причин це небажана поведінка. Чи є спосіб відключити таку поведінку?

Відповіді:


6

Є два Guis, про які я можу придумати. З програми -> Центр програмного забезпечення Ubuntu шукайте "менеджер завантаження". Після установки ви знайдете його в Системі -> Адміністрація -> BootUP-Manager. Інша - Webmin. Webmin використовує ваш браузер. Після встановлення вкажіть браузер на https: // localhost: 10000 / Шукайте сервіси та працюйте звідти.


2
Цей метод не працював для мене 16.04
Мостафа Ахангарха

76

Щоб запобігти запуску mysql при завантаженні:

  1. Відкрийте термінал: Ctrl+ Alt+T

  2. Відкрийте mysql.confфайл:nano /etc/init/mysql.conf

  3. Прокоментуйте start onрядок у верхній частині файлу, він start onможе бути поширений у двох рядках, тому коментуйте обидва. (коментар додається #на початку)

Якщо ви хочете вручну запустити mysql, використовуйте таку команду:

service mysql start

Взято звідси вільно .


3
Це дуже корисна відповідь для декількох ініціацій при запуску.
maniat1k

1
Спробував, я маю /usr/sbin/mysqldі /bin/sh /usr/bin/mysqld_safeбігаю. Прокоментував усе, але не допоміг.
Емін Мастізада

ІМО це найкраща відповідь.
simhumileco

в Linux Mint 18.2 Кориця я видалив /etc/init/mysql.conf без змін. Сервер Mysql все ще працює при запуску. Розв’язок @thebugfinder працював на мене
flyingdrifter

anacron.conf та whoopsie.conf - це все, що я можу побачити в / etc / init @ maniat1k
Prabesh bhattarai

72

З 15.04 ви можете просто зробити:

sudo systemctl disable mysql

4
Справді. Для 15.04 - це відповідь, яку ви шукаєте.
CommandZ

Дивовижно, нарешті я знайшов рішення для цього! Інші методи не працюють на мене.
rneves

Я не можу запустити його знову, як запустити mysql після команди?
rneves

@rneves ви пробували enableчи reenable?
thebugfinder

1
@thebugfinder Я намагався enable, я не знаю про це reenable, але enableзмушує мене перезапустити комп’ютер, щоб знову запустити mysql
rneves

8

Зараз в Ubuntu речі досить змінилися. Я думаю, що від версії 11 і далі. MySQL обробляється Upstart, тоді як Apache все ще використовує традиційні сценарії init SysV

Для MySQL ви можете використовувати нову функцію заміщення в Upstart для зміни початкової поведінки:

sudo echo "manual" >> /etc/init/mysql.override

Для отримання додаткової інформації дивіться розділ " Вимкнення роботи з автоматичного запуску " в Upstart Cookbook.

Оскільки Apache як і раніше використовує традиційні сценарії init SysV, які ви можете використовувати

sudo update-rc.d -f apache2 remove

щоб видалити посилання з /etc/rcX.dабо, альтернативно, використовувати

sudo update-rc.d apache2 disable

який "відключає" скрипт, змінюючи його зі стартового сценарію на стоп-скрипт. Це оборотно

sudo update-rc.d apache2 enable

Більшість цієї інформації я отримав звідси: https://askubuntu.com/a/40077/24678


Якщо ви хочете відновити послугуsudo update-rc.d apache2 defaults
bentech

3

У Ubuntu 18.04 sudo systemctl disable mysqlзапобіжить автоматичну mysql-serverзапуск під час завантаження.

Для Linux, існує 3 основних ініціалізацій системи: Systemd, Upstartі SysV. Хоча майже всі системи Linux працюють на Systemd. Дві інші системи init також можуть співіснувати у вашій системі.

Для Systemdвикористання команди sudo systemctl disable mysql;
Для Upstart, використання echo manual >> /etc/init/mysql.override;
Для цього SysVзапустіть таку командуsudo update-rc.d mysql disable

Якщо ви хочете знайти, яка система init працює на вашому сервері, прочитайте цю відповідь .


2

Або якщо ваш справді лінивий, як я, ви можете просто відкрити сеанс терміналу, а потім набрати:

sudo perl -pi.orig -e 's/start\s+on/#start\s+on/' /etc/init/mysql.conf && sudo perl -pi.orig -e 's/and\s+/#and/g' /etc/init/mysql.conf

Ви можете просто випустити команду перезавантаження, тоді ваша система завантажиться без запуску mysql.


1
Цю команду можна було вдосконалити. Він додає +рядок, що залишає так: #start+on blahblahblahале це працює!
Лусіо

2

Насправді, існує також інший спосіб досягти цього за допомогою інструмента sysv-rc-conf.

Ви можете встановити його, ввівши

sudo apt-get install sysv-rc-conf

Це дозволяє взяти контроль над усіма доступними службами, включаючи запуск / зупинку їх на місці та налаштування роботи служб на рівні пробігу.

Редагувати: Ви повинні запустити інструмент tis як root:

sudo sysv-rc-conf

0

Ви можете використовувати chkconfigпакет інструментів

$ chkconfig --level 345 mysqld off

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