MySQL sunucusunu nasıl başlatırım / durdururum?


211

Nasıl mysql sunucusunu doğru başlatmak ve durdurmak için açıklayan bazı makalelerde bulmaya çalıştım.

Bu bağlantıyı buldum: MySQL sunucusunu Ubuntu'da başlat / durdur 8.04 | Abhi'nin Blog Dünyası

Bu komutu koştum:

/etc/init.d/mysql start 

ama bu hatayı görüyorum

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

Bu komutu denedikten sonra:

sudo /etc/init.d/mysql start

Şifremi girdim ve yine aynı hatayı görüyorum.

Bir sonraki komut:

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

sonuçlanır:

ERROR 1049 (42000) Unknown database 'start'.

Ve bu komutu çalıştırdığımda:

sudo service mysql start

MySQL sunucusu başarısı başladı. Güzel!

Peki diğer komutlarda yanlış olan ne? Neden hatayla sonuçlanıyor?


3
Aslında, sudo ile bile benim için işe yaramadı, ancak daha sonra senaryoda şu ipucunu buldum: /etc/init.d aracılığıyla init komut dosyalarını çağırmak yerine, servisi (8) kullanın ve sorun yok
Timofey

2
Tim doğru. Kullanın sudo servis mysql start .
Ed Manet

Genellikle, kendi sisteminizdeki özel kullanıcınızın sudo ile yapmasına izin verilenleri görmek için sudo -l komutunu kullanabilirsiniz. (İzinleriniz / etc / sudoers'da yapılandırılmıştır.) Ancak bu durumda yardımcı olup olmayacağından emin değilim. EDIT: Bekleyin, boşver, erişim reddedildi hatası, MySQL veya sudo değil bir şeyden geliyor gibi görünüyor.
David Winiecki

Yanıtlar:


230

İlk iki komutunuz root olarak çalıştırılmadı, bu yüzden beklenen davranıştır. MySQL'i durdurmak / başlatmak için root olmanız gerekir.

Ancak:

sudo /etc/init.d/mysql start

çalışmalı. Gerçekten, benim için yapar:

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

Zaten çalışıyordu çünkü başlangıç ​​yerine restart kullandım, ancak etkisi aynı. Şifrenizi doğru girdiğinizden emin misiniz? :) Bu çalışmayı durduracak olan sudo yapılandırmanızı hiç düzenlediniz mi?

Bu..

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

Argümanlar yanlış. bir init.d betiği yalnızca alır startveya stopveya restart- ne yapılması gerektiğini söyleyen tek bir kelime kullanır. Yapmaya çalıştığınız gibi birden fazla argüman veremezsiniz.

Her neyse, kısa cevap aslında çalışmak zorunda olduğunuz, önerilen yoldur. servicezamanla tüm init.d betiklerini değiştiriyor, bu yüzden kullanma alışkanlığına sahip olmalısınız service. Bağladığınız sayfa 3 yaşında, bu yüzden biraz tuz ile alınmalıdır :)


7
Ayrıca sudo hizmet MySQL başlangıç deneyin

2
start mysqlbenim için çalıştı (Ubuntu 12.04.4).
Tim

3
sudo /etc/init.d/mysql restartbenim için MySQL'i yeniden başlattı
Edward

6
sudo systemctl start mysqlUbuntu 16.04 ve üstü için nasıl ?
Ankit Balyan

86

Ayrıca, "mysql" nin doğru servis adı olup olmadığını iki kez kontrol etmeye yardımcı olur. Benim durumumda değildi. Aşağıdaki yanıtı almaya devam ettim: mysql: Çalışırken tanınmayan hizmet

service mysql status 

Sonra /etc/init.d dosyasını kontrol ettim ve işlem ismini listeleyen mysqld isimli betiği buldum: mysqld ve prog = mysqld

Öyleyse yaptım

service mysqld status
service mysqld stop
service mysqld start 

ve hepsi iyi çalıştı.


4
mysql: unrecognized service
Yeşil

7
En azından 13.10'da, kök ayrıcalıklarıyla çalıştırmanız gerekir. örneğin, "sudo servis mysql durumu".
Bryce

13
14.10 için mysql d
redanimalwar

1
Kök hakları olmadan koşarken, söyleyeceğim unknown job: mysql. biraz kafa karıştırıcı.
Blauhirn

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

30

Ubuntu 12.10 ve sonrası için:

MYSQL'i BAŞLAT:

sudo start mysql

TEKSTİL MYSQL:

sudo restart mysql # The service must be running

DUR MYSQL:

sudo stop mysql # The service must be running

3
stop: Unknown job: mysql
Yeşil

@ Yeşil Sadece bunu denedim (bir yıl sonra) ve hala çalışıyor. Bu benim sonucudur: mysql stop/waiting. Bunu mysqldurdurmak için çoktan koşmanız gerektiğini bilmelisiniz ;)
Lucio

1
Kahraman, hayatımı kurtarıyorsun, mysqld makine hafızamı çok uzun zamandır kullanıyor. Çıkarmak için her türlü yöntemi denedim, ancak cevabınızla karşılaşana kadar hepsi başarısız oldu.
Zen

sudo: start: command not found
JCarlos

1
@JCarlos Doapt install upstart
Edward

9

Aslında, Ubuntu makineme mysql-workbench yüklediğimde garip bir hata aldım. Bundan sonra bu komutu kullanarak mysql servisini başlatmaya çalıştım:

service mysql start

Böylece MySQL sunucusunun kurulmadığına dair bir çözüm buldum, bu yüzden kurdum ve sorunum çözüldü. MySQL sunucusunu kurma komutu:

sudo apt-get install mysql-server

Başarılı bir kurulumdan sonra MySQL sunucusunu aşağıdaki şekilde başlatın:

service mysql start

4

Ubuntu64 ile aynı sorunu yaşadım ve sadece systemctl kullanarak değil bunun yerine şunu düzelttim:

sudo service mysql restart

umarım bu komut sizin için çalışacaktır.


2

Bu elle inşa edilen mysql sunucusu için çalışmalıdır:

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

2

MySQL'i sisteminize yükledikten sonra sadece şunu yapın:

$ service mysql durumu

eğer servis sadece bunu yaparsa:

$ service mysql başlangıç

ve hizmetimi durdurduğum için:

$ servis mysql durdur


1
/etc/init.d/mysql startve service mysql starttamamen aynı.
fırtına

1

Aynı sorunla karşılaştım ve aşağıdaki komutları izleyerek tekrar kaldırıp kurdum:

1) sudo apt-get --purge kaldır mysql-server mysql-ortak mysql-istemci

2) sudo apt güncelleme && sudo apt dist yükseltme && sudo apt autoremove

3) sudo apt-get install -y mysql-sunucusu mysql-istemcisi


0

Her iki durumu da kapsayan küçük bir komut dosyası [sunucu çalışıyor / sunucu çalışmıyor]:

#!/bin/bash

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

0

Ubuntu 18.04'te soket dosyada tanımlanmıştır.

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

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

Dizin mevcut değildi, bu yüzden aşağıdaki gibi manuel olarak yarattım:

sudo mkdir -p /var/run/mysqld

MySQL'i yeniden başlatın. Bu benim davam için çözüldü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.