Mysql sunucusunun nasıl doğru bir şekilde başlatılacağını ve durdurulacağını açıklayan bazı makalelerde bulmaya çalıştım.
Bu bağlantıyı buldum: Ubuntu 8.04 üzerinde MySql sunucusu nasıl başlatılır/durdurulur | Abhi's Blogging World
Bu komutu çalıştırdım:
/etc/init.d/mysql start
ancak şu 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.
Sonraki komut:
sudo /etc/init.d/mysql - root -p start
Sonuçlar:
ERROR 1049 (42000) Unknown database 'start'.
Ve bu komutu çalıştırdığımda:
sudo service mysql start
MySQL sunucu başarısı başlatıldı. Harika!
Peki, diğer komutların nesi var? Neden hatayla sonuçlanıyorlar?
İlk iki komutunuz root olarak çalıştırılmadı, bu yüzden beklenen davranış budur. Mysql'i durdurmak/başlatmak için root olmanız gerekir.
Ancak:
sudo /etc/init.d/mysql start
işe yaramalı. Gerçekten de öyle, benim için:
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ışmakta olduğu için başlat yerine yeniden başlat kullandım, ancak etki aynı. Şifrenizi doğru girdiğinizden emin misiniz? :) Bunun çalışmasını engelleyecek sudo yapılandırmanızı hiç düzenlediniz mi?
Bu..
sudo /etc/init.d/mysql - root -p start
Argümanlar yanlış. init.d betiği sadece start
veya stop
veya restart
komutlarını alır - sadece ne yapacağını söyleyen tek bir kelime. Sizin yapmaya çalıştığınız gibi ona birden fazla argüman veremezsiniz.
Her neyse, kısa cevap, gerçekten işe yarayanın önerilen yol olduğudur. 'servis' zamanla tüm init.d betiklerinin yerini alıyor, bu yüzden 'servis' kullanma alışkanlığı edinmelisiniz. Bağlantısını verdiğiniz sayfa 3 yıllıktır, bu yüzden biraz tuzla alınmalıdır :)
Ayrıca "mysql"'in doğru hizmet adı olduğunu iki kez kontrol etmenize yardımcı olur. Benim durumumda değildi. Aşağıdaki yanıtı almaya devam ettim: mysql: çalıştırılırken tanınmayan hizmet
service mysql status
Sonra /etc/init.d dosyasını kontrol ettim ve işlem adını listeleyen mysqld adlı komut dosyasını buldum: mysqld ve prog=mysqld
Sonra ben de
service mysqld status
service mysqld stop
service mysqld start
ve hepsi iyi çalıştı.
MYSQL'I BAŞLAT:__
sudo start mysql
MYSQL'I YENIDEN BAŞLAT:__
sudo restart mysql # The service must be running
MYSQL'İ DURDUR:__
sudo stop mysql # The service must be running