Bagaimana saya memulai / menghentikan server mysql?


211

Saya mencoba menemukan di beberapa artikel yang menjelaskan cara memulai & menghentikan server mysql dengan benar.

Saya menemukan tautan ini: Cara memulai / menghentikan server MySql di Ubuntu 8.04 | Dunia Blogging Abhi

Saya menjalankan perintah ini:

/etc/init.d/mysql start 

tapi saya melihat kesalahan ini

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

Setelah saya mencoba perintah ini:

sudo /etc/init.d/mysql start

Saya memasukkan kata sandi, dan lagi-lagi saya melihat kesalahan yang sama.

Perintah selanjutnya:

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

menghasilkan:

ERROR 1049 (42000) Unknown database 'start'.

Dan ketika saya menjalankan perintah ini:

sudo service mysql start

Keberhasilan server MySQL dimulai. Keren!

Jadi, apa yang salah dengan perintah lain? Mengapa mereka menghasilkan kesalahan?


3
Sebenarnya, bahkan dengan sudo itu tidak berhasil untuk saya, tetapi kemudian saya menemukan dalam script petunjuk berikut: Daripada memanggil skrip init melalui /etc/init.d, gunakan layanan (8) dan tidak apa
Timofey

2
Tim benar. Gunakan sudo service mysql start .
Ed Manet

Secara umum Anda dapat menggunakan sudo -l untuk melihat apa yang diizinkan pengguna spesifik Anda pada sistem spesifik Anda dengan sudo. (Izin Anda dikonfigurasi di / etc / sudoers.) Namun saya tidak tahu pasti apakah itu akan membantu dalam kasus khusus ini. EDIT: Tunggu, sudahlah, kesalahan akses ditolak sepertinya berasal dari MySQL atau apalah, bukan sudo.
David Winiecki

Jawaban:


230

Dua perintah pertama Anda tidak dijalankan sebagai root sehingga perilaku yang diharapkan. Anda harus menjadi root untuk menghentikan / memulai mysql.

Namun:

sudo /etc/init.d/mysql start

harus bekerja. Memang benar, bagi saya:

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..

Saya menggunakan restart daripada mulai, karena sudah berjalan, tetapi efeknya sama. Anda yakin memasukkan kata sandi dengan benar? :) Sudahkah Anda mengedit konfigurasi sudo Anda yang akan menghentikannya?

Yang ini..

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

Argumennya salah. skrip init.d hanya membutuhkan startatau stopatau restart- hanya satu kata yang mengatakan apa yang harus dilakukan. Anda tidak dapat memberikan beberapa argumen seperti yang Anda coba lakukan.

Bagaimanapun, jawaban singkatnya adalah Anda benar-benar harus bekerja, adalah cara yang disarankan. servicemengganti semua skrip init.d dari waktu ke waktu, jadi Anda harus terbiasa menggunakan service. Halaman yang Anda tautkan berusia 3 tahun sehingga harus diambil dengan garam :)


7
Coba juga layanan sudo mysql start

2
start mysqlbekerja untuk saya (Ubuntu 12.04.4).
Tim

3
sudo /etc/init.d/mysql restartme-restart MySQL untuk saya
Edward

6
bagaimana dengan sudo systemctl start mysqlUbuntu 16.04 ke atas?
Ankit Balyan

86

Juga membantu untuk memeriksa ulang bahwa "mysql" adalah nama layanan yang benar. Dalam kasus saya itu tidak. Saya terus mendapatkan respons berikut: mysql: layanan yang tidak dikenal saat berjalan

service mysql status 

Kemudian saya memeriksa /etc/init.d dan menemukan skrip bernama mysqld yang mencantumkan nama proses: mysqld dan prog = mysqld

Jadi saya lakukan

service mysqld status
service mysqld stop
service mysqld start 

dan mereka semua bekerja dengan baik.


4
mysql: unrecognized service
Hijau

7
Setidaknya pada 13.10, Anda harus menjalankannya dengan hak akses root. misal, "sudo service mysql status".
Bryce

13
Untuk 14.10 saya perlu menggunakan "mysql" bukan mysql d
redanimalwar

1
ketika berjalan tanpa hak root, katanya unknown job: mysql. agak membingungkan.
phil294

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

30

Untuk Ubuntu 12.10 dan yang lebih baru:

MULAI MYSQL:

sudo start mysql

KEMBALIKAN MYSQL:

sudo restart mysql # The service must be running

BERHENTI MYSQL:

sudo stop mysql # The service must be running

3
stop: Unknown job: mysql
Hijau

@ Hijau Saya baru saja mencoba ini (satu tahun kemudian) dan masih berfungsi. Ini adalah hasil saya: mysql stop/waiting. Anda harus tahu bahwa Anda harus sudah berlari mysqluntuk menghentikan ini;)
Lucio

1
Pahlawan, Anda menyelamatkan hidup saya, bahwa mysqld telah menempati memori mesin saya begitu lama. Saya mencoba semua jenis metode untuk menghapusnya, tetapi semuanya gagal, sampai saya menemukan jawaban Anda.
Zen

sudo: start: command not found
JCarlos

1
@JCarlos Doapt install upstart
Edward

9

Sebenarnya, saya mendapat kesalahan aneh, ketika saya menginstal mysql-workbench di mesin Ubuntu saya. Setelah itu saya mencoba memulai layanan mysql menggunakan perintah ini:

service mysql start

Jadi saya mendapat solusi bahwa server MySQL tidak diinstal, jadi saya menginstalnya dan masalah saya terpecahkan. Perintah untuk menginstal mysql-server adalah:

sudo apt-get install mysql-server

Setelah instalasi berhasil, jalankan server MySQL sebagai:

service mysql start

4

Saya memiliki masalah yang sama dengan Ubuntu64 dan saya memperbaikinya dengan tidak menggunakan systemctl tetapi ini:

sudo service mysql restart

semoga perintah ini bekerja untuk Anda.


2

Yang ini harus bekerja untuk server mysql yang dibangun secara manual:

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

2

setelah menginstal MySQL di sistem Anda, lakukan saja:

$ service mysql status

jika layanan turun lakukan ini:

$ service mysql mulai

dan untuk menghentikan layanan saya bahwa:

$ service mysql stop


1
/etc/init.d/mysql startdan service mysql startpersis sama.
badai

1

Saya terjebak dengan masalah yang sama dan saya uninstall dan menginstal lagi dengan mengikuti perintah di bawah ini:

1) sudo apt-get --purge menghapus mysql-server mysql-common mysql-client

2) sudo apt pembaruan && sudo apt dist-upgrade && sudo apt autoremove

3) sudo apt-get install -y mysql-server mysql-client


0

Sebuah skrip kecil untuk membahas kedua kasus [server berjalan / server tidak berjalan]:

#!/bin/bash

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

0

Pada ubuntu 18.04 soket didefinisikan dalam file

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

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

Direktori itu tidak ada jadi saya membuatnya secara manual seperti di bawah ini:

sudo mkdir -p /var/run/mysqld

Mulai ulang mysql. Itu menyelesaikannya untuk kasus saya di sini.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.