mysql'de oturum açma ve veritabanını linux terminalinden sorgulama


104

Debian linux kullanıyorum. Mysql'nin kurulu olduğu bir linux makinem var. Linux makineme hem root kullanıcısını hem de diğer kullanıcıları kullanarak giriş yapabiliyorum. Linux makinesinde sqlyog kullanarak Windows makinesinden mysql veritabanına bağlanabilirim. Şimdi sadece linux terminalini kullanarak linux makinesinde sorgu yürütmek istiyorum

Terminalde aşağıdaki bazı şeyleri denedim

Kök dizine gittim sonra / var / lib dizinine gittim

Terminalde aşağıdaki komutları çalıştırıyorum

mysqladmin -u root -p
mysqladmin -u root -ppassword

her seferinde aşağıdaki hata mesajını alıyorum

ERROR 1045 (28000) 'root' @ 'localhost' kullanıcısı için erişim reddedildi (şifre NO kullanarak)

lütfen takip etmem için bana yol göster

  1. Linux terminalinde mysql istemini nasıl alırım?
  2. Mysql sunucusunu linux terminalinden nasıl durdururum?
  3. Mysql sunucusunu linux terminalinden nasıl başlatırım?
  4. Linux terminalinde mysql istemini nasıl alırım?
  5. Linux terminalinden mysql sunucusuna nasıl giriş yaparım?
  6. Aşağıdaki hatayı nasıl çözerim?

ERROR 1045 (28000) 'root' @ 'localhost' kullanıcısı için erişim reddedildi (şifre NO kullanarak)

Lütfen yukarıdaki soru için bana çözümler verin. Teşekkür ederim


1
Bu komutu her çalıştırdığımda mysql -u root -p bana şifre sormuyor ve "ERROR 1045 (28000) 'root' @ 'localhost' kullanıcısı için erişim reddedildi (Şifre NO kullanarak)" Kök klasörde yukarıdaki komut kök istemini çalıştırıyorum veya belirli bir dizine gitmem gerekiyor mu? bana yolunu ver. teşekkür ederim!
Param-Ganak

Komutunuzun sözdizimini değiştirmeyi deneyin, örneğin: "mysql --user = root --password" (komut satırına yazarken tırnak işaretlerini kaldırın). Aksi takdirde, bir parola istenmemesi oldukça garip görünüyor ve mysql'in kapsamı dışında başka bir şey olabileceğinden şüpheleniyorum.
baraboom

Yanıtlar:


180

1.- Linux terminalinde mysql komut istemini nasıl alırım?

mysql -u root -p

İstendiğinde, Enter password:root şifresini girin :)

Yazarak mysql --helpveya çevrimiçi kılavuzda daha fazla referans bulabilirsiniz .

2. mysql sunucusunu linux terminalinden nasıl durdururum?

Değişir. Red Hat tabanlı dağıtımlar şu servicekomuta sahiptir:

service mysqld stop

Diğer dağıtımlar, init betiğini doğrudan çağırmayı gerektirir:

/etc/init.d/mysqld stop

3. mysql sunucusunu linux terminalinden nasıl başlatırım?

# 2 ile aynı, ancak ile start.

4. Linux terminalinde mysql komut istemini nasıl alırım?

# 1 ile aynı.

5. Linux terminalinden mysql sunucusuna nasıl giriş yaparım?

# 1 ile aynı.

6. Aşağıdaki hatayı nasıl çözerim?

# 1 ile aynı.


10

İlk sorunuza:

mysql -u root -p

veya

mysqladmin -u root -p "your_command"

ne yapmak istediğinize bağlı olarak. Enter tuşuna bastığınızda sizden şifre istenecektir! Tahminimce mysqladmin'i değil gerçekten mysql kullanmak istiyorsunuz .

MySQL sunucusunu linux üzerinde yeniden başlatmak veya durdurmak için, kurulumunuza bağlıdır, ancak yaygın debian türevlerinde bu, hizmeti başlatmak, durdurmak ve yeniden başlatmak için çalışacaktır:

sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql status

Bazı yeni dağıtımlarda, MySQL bir deamon / hizmet olarak ayarlanmışsa bu da işe yarayabilir.

sudo service mysql start
sudo service mysql stop
sudo service mysql restart
sudo service mysql status

Ancak, özel kurulumunuzu bilmeden soruyu cevaplamak gerçekten imkansızdır.


Bu komutu her çalıştırdığımda mysql -u root -p bana şifre sormuyor ve "ERROR 1045 (28000) 'root' @ 'localhost' kullanıcısı için erişim reddedildi (Şifre NO kullanarak)" hata mesajı alıyorum. Ben kök klasöründe istemi yukarıdaki komut kök çalıştırmak veya teşekkür bana yolunu vermek belirli bir dizin gitme ihtiyacı do
Param-Ganak

Belirli bir dizine gitmeniz gerekmez. İstediğiniz yerden çalıştırabilirsiniz. Eğer yanıtı yapıştırmak Could uname -ave mysql --versionve (sadece terminalin içine girmek) Buraya yapıştırın. O zaman muhtemelen sana daha fazla yardım edebiliriz. service mysql statusayrıca yardımcı olacaktır.
flindeberg

5

Herhangi bir phpMyAdmin alternatifinden çok daha verimli ve iyi bir şey olan mysql istemcisini kullanmak istediğinizi varsayıyorum.

Komut satırı istemcisiyle oturum açmanın doğru yolu şunu yazmaktır:

mysql -u username -p

Dikkat, şifreyi yazmadım. Bunu yapmak, parolanın ekranda görünür olmasını sağlar, bu çok kullanıcılı ortamda iyi değildir!

Bu hit enter tuşuna yazdıktan sonra mysql sizden şifrenizi isteyecektir.

Giriş yaptıktan sonra elbette şunlara ihtiyacınız olacak:

use databaseName;

hiçbir şey yapmamak.

İyi şanslar.


Bu komutu her çalıştırdığımda mysql -u root -p bana şifre sormuyor ve "ERROR 1045 (28000) 'root' @ 'localhost' kullanıcısı için erişim engellendi (Şifre NO kullanarak)" hata mesajı alıyorum. Kök klasörde yukarıdaki komut kök istemini çalıştırıyorum veya belirli bir dizine gitmem gerekiyor mu? bana yolunu ver. teşekkür ederim!
Param-Ganak

Hangi linux dağıtımında çalışıyorsunuz?
stefgosselin

5

Komut isteminde şunu deneyin:

mysql -u root -p

istendiğinde şifreyi verin.


Bu komutu her çalıştırdığımda mysql -u root -p bana şifre sormuyor ve "ERROR 1045 (28000) 'root' @ 'localhost' kullanıcısı için erişim reddedildi (Şifre NO kullanarak)" Kök klasörde yukarıdaki komut kök istemini çalıştırıyorum veya belirli bir dizine gitmem gerekiyor mu? bana yolunu ver. teşekkür ederim!
Param-Ganak

Yolu yapılandırdığınız sürece onu ana dizininizden çalıştırabilmelisiniz. İşe
yaramalı

4

Bugün ArchLinux VPS'imde aynı sorunu yaşadım.

mysql -u root -p sadece işe yaramadı mysql -u root -pmypassword yaradı.

Bozuk bir / dev / tty aygıt dosyam olduğu ortaya çıktı (büyük olasılıkla bir udev yükseltmesinden sonra), bu nedenle mysql onu etkileşimli oturum açma için kullanamadı.

Ben çıkarmadan / dev / tty ve onu yeniden sona erdi mknod /dev/tty c 5 1ve chmod 666 /dev/tty. Bu mysql problemini ve diğer bazı sorunları da çözdü.


Bu gerçekten işe yarıyor! Şimdi herkes bash_history'de root şifresini görebilir. : / / Dev / tty'nin berbat olduğunu nasıl anladınız?
user3870315

2
  1. mysqlkomut kullanmalısın . Bu, mysql RDBMS için bir komut satırı istemcisidir ve çoğu mysql kurulumuyla birlikte gelir: http://dev.mysql.com/doc/refman/5.1/en/mysql.html

  2. Mysql veritabanını durdurmak veya başlatmak için (nadiren bunu 'elle' yapmanız gerekir) , genellikle stopveya startparametresi ile uygun init betiğini kullanın /etc/init.d/mysql stop. Ancak bu, linux dağıtımınıza bağlıdır. Bazı yeni dağıtımlar service mysql startstili teşvik eder .

  3. mysqlSql kabuğu kullanarak giriş yapıyorsunuz .

  4. Hata muhtemelen çift '-p' parametresinden kaynaklanmaktadır. -ppasswordVeya sadece sağlayabilirsiniz -pve sizden etkileşimli olarak şifre istenir. Ayrıca, bazı kurulumların yönetici kullanıcı olarak mysql (root değil) kullanıcısını kullanabileceğini unutmayın. Çalışan bağlantı parametrelerini elde etmek için sqlyog yapılandırmanızı kontrol edin.


2

Lütfen "sudo mysql -u root -p" yi deneyin.


2

Ubuntu'da yapmam gereken tek şey sudo mysqlGNOME terminalinde koşmak ve hepsi bu. Veritabanları oluşturmaya başlayabilir veya tablodaki verileri sorgulayabilirim, vb.


1

Çoğu linux sisteminde mysql'i durdurmak veya başlatmak için aşağıdakiler çalışmalıdır:

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

Diğer cevaplar mysql istemcisine komut satırından erişmek için iyi görünüyor.

İyi şanslar!


1

hala db'ye erişiminiz yoksa, 1. hata mesajınızda parola ayarlanmamışsa değil mi? daha sonra önce mysqlpasswd 'kullanıcı adı'nı girin ve ardından istendiği gibi tekrar bir şifre türü verin ve ardından root iseniz mysql -p ile tekrar erişmeyi deneyin


1

zaten root olarak giriş yaptıysan

mysql -u root

aksi takdirde şifre sorulduğunda hata olarak geri dönülür


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.