Pertanyaan Akses MySQL ditolak untuk 'root' @ 'localhost' pengguna


Di server saya, setiap kali saya mencoba mengakses MySQL, saya mendapatkan kesalahan:

Akses ditolak untuk 'root' @ 'localhost' pengguna (menggunakan kata sandi: TIDAK ADA)

ketika saya mencoba mysqladmin -u root -p password saya mendapat

Akses ditolak untuk 'root' @ 'localhost' pengguna (menggunakan kata sandi: YES)

Bagaimana saya bisa mengakses MySQL di server Ubuntu saya 12.04?


16
2018-03-02 07:02


asal


Cobalah untuk menghindari mengetikkan kata sandi Anda sebagai parameter pada baris perintah, pengguna lain dapat menemukannya melalui daftar proses. Jauh lebih baik mengetiknya langsung ke program atau menggunakan kunci - Amias
Sintaksnya -p password itu salah, itu harus -ppassword tetapi tidak direkomendasikan. Info lebih lanjut: stackoverflow.com/questions/5131931/… - Melebius
Periksa halaman ini untuk kemungkinan penyebab kesalahan ini dan penyelesaian untuk memperbaiki kesalahan ini. rathishkumar.in/2017/04/…. Ini dapat membantu Anda. - rathishDBA


Jawaban:


Jika Anda menjalankan n localhost, cukup ketik perintah di bawah ini di terminal:

mysql -u root -p

Jika Anda menggunakan server eksternal, masukkan IP host (xxx.xxx.xxx.xxx) juga:

mysql -hxxx.xxx.xxx.xxx -uroot -p

Anda akan diminta kata sandi Anda, masukkan dan Anda akan dapat mengakses prompt MySQL Anda.

Anda juga bisa melihat jawaban ini tentang cara mereset kata sandi MySQL Anda.


9
2018-03-02 07:34



saya masuk tetapi saya masih tidak tahu bagaimana mengubah atau memilih kata sandi - user253867
Dalam jawaban yang saya tautkan, Anda harus mengganti 5.x di bagian akhir dengan versi server MySQL yang Anda gunakan. Saya menggunakan 5.5 sehingga perintah saya akan menjadi sudo dpkg-reconfigure mysql-server-5.5 - Parto
jadi, masalahnya adalah bahwa OP melihat Access denied for user 'root'@'localhost'. Anda menyarankan menelepon mysql -u root -p. Hasil dari perintah ini adalah: Access denied for user 'root'@'localhost'. - Blauhirn


Saya mendapatkan gejala yang sama ketika saya memperbarui, tetapi bagi saya memperbaiki (setelah membunuh mysql dan restart dengan --skip-grant-tables untuk masuk) adalah untuk mengeksekusi

update mysql.user set plugin = '';

Proses pembaruan suka mengatur kolom ini menjadi "unix_socket". Saya tidak tahu apa yang harus dilakukan, tetapi bagi saya itu menghancurkan segalanya.


6
2018-04-28 20:44



Ini memecahkan masalah saya di Ubuntu 16 LTS, setelah mencoba semuanya .. izin, pengguna grup. Thanx. - onalbi
ya, saya telah menjalankan skrip hardening dan itu mengubah plugin untuk mysql_socket jadi apapun yang saya gunakan PASSWORD('xxxxxx'), tidak berfungsi. - TheVillageIdiot


Atur kata sandi untuk mysql

sudo dpkg-reconfigure mysql-server-5.x

Sekarang buka terminal dan ketik

mysql -uroot -p

beri kata sandi dan tekan enter


4
2017-07-14 00:08



Itu membantu saya, terima kasih - Farzad YZ


Saya memecahkan masalah saya dengan ini:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt install mysql-server

3
2017-08-17 23:43





Sama seperti Ulrich Metzger, setelah memperbarui mesin saya ke Ubuntu 16.04 dan Mysql-server-5.7, saya tidak bisa masuk dengan root karena plugin kolom diubah dalam database mysql.

Kedua sudo dpkg-reconfigure mysql-server-5.7 perintah dan menghapus, membersihkan dan membersihkan tidak memecahkan masalah saya.

Saya harus menghentikan layanan mysql

# sudo service mysql stop

Mulai mysql daemon tanpa --no-grant-tables pilihan

# sudo mysql_safe --no-grant-tables &

Kemudian di terminal lain, masukkan mysql (yang tidak memiliki authenfication lagi) dengan perintah mysql, dan memperbarui kata sandi dan kolom plugin melalui UPDATE sql

UPDATE mysql.user 
  SET authentication_string=PASSWORD(''), 
      plugin='mysql_native_password'
WHERE User='root' AND Host='localhost';

Akhirnya bunuh mysql_safe perintah, restart layanan mysql dan sambungkan ke mysql normaly

# sudo service mysql start
# mysql

2
2017-12-14 11:03





Setelah memutakhirkan dari ubuntu 14,4LTS menjadi 16,4LTS, pengguna root mysql tidak dapat lagi masuk karena entri salah dalam kolom plugin tabel pengguna mysql. Peningkatan ini menetapkan nilai plugin untuk pengguna root @ localhost auth_socket tetapi entri yang benar harus mysql_native_password, jika Anda menggunakan enkripsi kata sandi asli mysql sebelumnya.


1
2017-09-11 20:18