cara log in ke mysql dan query database dari terminal linux

104

Saya menggunakan debian linux. Saya memiliki mesin linux tempat mysql diinstal. Saya dapat masuk ke mesin linux saya menggunakan pengguna root serta pengguna lain. Saya dapat terhubung ke database mysql di mesin linux dari mesin windows menggunakan sqlyog. Sekarang saya ingin mengeksekusi query di mesin linux hanya dengan menggunakan terminal linux

Saya mencoba beberapa hal berikut di terminal

Saya pergi ke direktori root lalu saya pergi ke direktori / var / lib

Saya menjalankan perintah berikut di terminal

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

setiap kali saya mendapatkan pesan kesalahan berikut

ERROR 1045 (28000) Akses ditolak untuk pengguna 'root' @ 'localhost' (Menggunakan kata sandi NO)

tolong bimbing saya untuk mengikuti

  1. Bagaimana cara mendapatkan prompt mysql di terminal linux?
  2. Bagaimana cara menghentikan server mysql dari terminal linux?
  3. Bagaimana saya memulai server mysql dari terminal linux?
  4. Bagaimana cara mendapatkan prompt mysql di terminal linux?
  5. Bagaimana cara saya masuk ke server mysql dari terminal linux?
  6. Bagaimana cara mengatasi kesalahan berikut?

ERROR 1045 (28000) Akses ditolak untuk pengguna 'root' @ 'localhost' (Menggunakan kata sandi NO)

Tolong beri saya solusi untuk pertanyaan di atas. Terima kasih

Param-Ganak
sumber
1
Setiap kali saya menjalankan perintah ini mysql -u root -p tidak menanyakan kata sandi dan saya mendapatkan pesan kesalahan "ERROR 1045 (28000) Akses ditolak untuk 'root' @ 'localhost' pengguna (Menggunakan kata sandi NO)" Pertanyaan lain adalah di mana cara menjalankan command root prompt di atas di folder root atau perlu pergi ke direktori tertentu. beri aku jalannya. Terima kasih!
Param-Ganak
Coba ubah sintaks untuk perintah Anda, seperti ini: "mysql --user = root --password" (hapus tanda kutip saat Anda mengetiknya di baris perintah). Jika tidak, tampaknya sangat aneh bahwa Anda tidak dimintai kata sandi dan saya curiga mungkin ada hal lain yang terjadi di luar lingkup mysql.
baraboom

Jawaban:

180

1.- Bagaimana cara mendapatkan prompt mysql di terminal linux?

mysql -u root -p

Saat Enter password:diminta, ya, masukkan kata sandi root :)

Anda dapat menemukan referensi lebih lanjut dengan mengetik mysql --helpatau di manual online .

2. Bagaimana cara menghentikan server mysql dari terminal linux?

Tergantung. Distro berbasis Red Hat memiliki serviceperintah:

service mysqld stop

Distro lain perlu memanggil skrip init secara langsung:

/etc/init.d/mysqld stop

3. Bagaimana saya memulai server mysql dari terminal linux?

Sama seperti # 2, tapi dengan start.

4. Bagaimana cara mendapatkan prompt mysql di terminal linux?

Sama seperti # 1.

5. Bagaimana cara login ke server mysql dari terminal linux?

Sama seperti # 1.

6. Bagaimana cara mengatasi kesalahan berikut?

Sama seperti # 1.

Álvaro González
sumber
10

Untuk pertanyaan pertama Anda:

mysql -u root -p

atau

mysqladmin -u root -p "your_command"

tergantung pada apa yang ingin Anda lakukan. Kata sandi akan diminta setelah Anda menekan enter! Saya rasa Anda benar-benar ingin menggunakan mysql dan bukan mysqladmin .

Untuk memulai ulang atau menghentikan server MySQL di linux, itu tergantung pada instalasi Anda, tetapi dalam turunan debian umum ini akan berfungsi untuk memulai, menghentikan, dan memulai ulang layanan:

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

Di beberapa distro yang lebih baru, ini mungkin berfungsi juga jika MySQL diatur sebagai deamon / layanan.

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

Tetapi pertanyaannya benar-benar tidak mungkin dijawab tanpa mengetahui pengaturan khusus Anda.

flindeberg.dll
sumber
Setiap kali saya menjalankan perintah ini mysql -u root -p tidak menanyakan kata sandi dan saya mendapatkan pesan kesalahan "ERROR 1045 (28000) Akses ditolak untuk pengguna 'root' @ 'localhost' (Menggunakan kata sandi NO)" pertanyaan lain adalah di mana cara menjalankan perintah root prompt di atas di folder root atau perlu pergi ke direktori tertentu, beri saya jalurnya terima kasih
Param-Ganak
Anda tidak harus pergi ke direktori tertentu. Anda bisa menjalankannya dari mana saja. Bisakah Anda sisipkan menanggapi uname -adan mysql --versiondan paste mereka di sini (hanya memasukkan mereka ke terminal). Kami mungkin bisa memberi Anda lebih banyak bantuan. service mysql statusjuga akan membantu.
flindeberg
5

Saya berasumsi Anda ingin menggunakan klien mysql, yang merupakan hal yang baik dan jauh lebih efisien untuk digunakan daripada alternatif phpMyAdmin.

Cara yang tepat untuk masuk dengan klien baris perintah adalah dengan mengetik:

mysql -u username -p

Perhatikan saya tidak mengetik kata sandi. Melakukan hal itu akan membuat kata sandi terlihat di layar, itu tidak baik di lingkungan multi-pengguna!

Setelah mengetik ini tekan tombol enter, mysql akan menanyakan kata sandi Anda.

Setelah login, tentunya Anda membutuhkan:

use databaseName;

untuk melakukan apa saja.

Semoga berhasil.

stefgosselin.dll
sumber
Setiap kali saya menjalankan perintah ini mysql -u root -p tidak menanyakan kata sandi dan saya mendapatkan pesan kesalahan "ERROR 1045 (28000) Akses ditolak untuk 'root' @ 'localhost' pengguna (Menggunakan kata sandi NO)" Pertanyaan lain adalah di mana cara menjalankan command root prompt di atas di folder root atau perlu pergi ke direktori tertentu. beri aku jalannya. Terima kasih!
Param-Ganak
Distro linux apa yang Anda gunakan?
stefgosselin
5

Pada prompt perintah coba:

mysql -u root -p

berikan kata sandi saat diminta.

kuarkonium
sumber
Setiap kali saya menjalankan perintah ini mysql -u root -p tidak menanyakan kata sandi dan saya mendapatkan pesan kesalahan "ERROR 1045 (28000) Akses ditolak untuk 'root' @ 'localhost' pengguna (Menggunakan kata sandi NO)" Pertanyaan lain adalah di mana cara menjalankan command root prompt di atas di folder root atau perlu pergi ke direktori tertentu. beri aku jalannya. Terima kasih!
Param-Ganak
Anda harus dapat menjalankannya dari direktori home Anda selama Anda memiliki jalur yang dikonfigurasi. Seharusnya berhasil ...
quarkonium
4

Saya memiliki masalah yang persis sama pada VPS ArchLinux saya hari ini.

mysql -u root -p hanya saja tidak berhasil, padahal mysql -u root -pmypassword berhasil.

Ternyata saya memiliki file perangkat / dev / tty yang rusak (kemungkinan besar setelah peningkatan udev), jadi mysql tidak dapat menggunakannya untuk login interaktif.

Saya akhirnya menghapus / dev / tty dan membuatnya kembali dengan mknod /dev/tty c 5 1dan chmod 666 /dev/tty. Itu memecahkan masalah mysql dan beberapa masalah lainnya juga.

pengguna789877
sumber
Ini benar-benar berhasil! Sekarang semua orang dapat melihat kata sandi root di bash_history. : / Bagaimana Anda tahu bahwa / dev / tty sedang kacau?
pengguna3870315
2

Untuk menghentikan atau memulai mysql di sebagian besar sistem linux, berikut ini seharusnya berfungsi:

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

Jawaban lain terlihat bagus untuk mengakses klien mysql dari baris perintah.

Semoga berhasil!

baraboom
sumber
2
  1. Anda harus menggunakan mysqlperintah. Ini adalah klien baris perintah untuk mysql RDBMS, dan dilengkapi dengan sebagian besar instalasi mysql: http://dev.mysql.com/doc/refman/5.1/en/mysql.html

  2. Untuk menghentikan atau memulai database mysql (Anda jarang perlu melakukan itu 'dengan tangan'), gunakan skrip init yang tepat dengan parameter stopatau start, biasanya /etc/init.d/mysql stop. Ini, bagaimanapun, tergantung pada distribusi linux Anda. Beberapa distribusi baru mendorong service mysql startgaya.

  3. Anda masuk dengan menggunakan mysqlsql shell.

  4. Kesalahan terjadi mungkin karena parameter '-p' ganda. Anda dapat memberikan -ppasswordatau hanya -pdan Anda akan dimintai kata sandi secara interaktif. Perhatikan juga, bahwa beberapa penginstalan mungkin menggunakan pengguna mysql (bukan root) sebagai pengguna administratif. Periksa konfigurasi sqlyog Anda untuk mendapatkan parameter koneksi yang berfungsi.

cezio
sumber
2

Silakan coba "sudo mysql -u root -p".

Udi
sumber
2

Di Ubuntu, yang harus saya lakukan adalah menjalankan sudo mysqldi terminal GNOME dan hanya itu. Saya bisa mulai membuat database atau query data dalam tabel, dll.

Pranav
sumber
1

jika Anda masih tidak punya akses ke db, 1. dalam pesan kesalahan Anda tidak mengatur kata sandi kan? lalu pertama lakukan mysqlpasswd 'username' setelah itu enter lalu beri password ketik lagi seperti yang diminta lalu coba akses lagi dengan mysql -p jika anda root

pengguna2807050
sumber
1

jika Anda sudah masuk sebagai root saja

mysql -u root

meminta kata sandi jika tidak akan kembali sebagai kesalahan

maioman
sumber
0

gunakan "mysql -uroot -pPassword" ini

vadiraj jahagirdar
sumber