ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Saya seorang insinyur listrik yang terutama bermain-main dengan sistem tenaga alih pemrograman. Baru-baru ini, saya telah mengikuti petunjuk untuk menginstal perangkat lunak suite di Ubuntu. Saya tidak memiliki pengetahuan tentang mySQL sama sekali, benar-benar. Saya telah melakukan hal berikut instalasi di Ubuntu.

sudo apt-get update
sudo apt-get install mysql-server-5.5
sudo apt-get install mysql-client-5.5
sudo apt-get install mysql-common
sudo apt-get install glade
sudo apt-get install ntp

Kemudian saya lakukan

me@ubuntu:~/Desktop/iPDC-v1.3.1/DBServer-1.1$ mysql -uroot -proot <"Db.sql"

Saya berakhir dengan pesan galat berikut.

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Bagaimana saya dapat memperbaiki dan melanjutkan?

Mengomentari pertanyaan (1)
Larutan

Catatan: Untuk MySQL 5.7+ silakan lihat jawaban dari @Lahiru untuk pertanyaan ini. Yang berisi lebih banyak informasi saat ini.

Untuk MySQL < 5.7:

Default password root adalah kosong (yaitu string kosong) tidak root. Sehingga anda hanya dapat login sebagai:

mysql -u root

Anda jelas harus mengubah password root anda setelah instalasi

mysqladmin -u root password [newpassword]

Dalam kebanyakan kasus anda juga harus menyiapkan masing-masing akun pengguna sebelum bekerja secara ekstensif dengan DB juga.

Komentar (14)

Saya bisa memecahkan masalah ini dengan mengeksekusi pernyataan ini

sudo dpkg-reconfigure mysql-server-5.5

Yang akan mengubah password root.

Komentar (7)

Anda harus me-reset password! langkah-langkah untuk mac osx(diuji dan bekerja) dan ubuntu

Berhenti menggunakan MySQL

sudo service mysql stop

atau

$ sudo /usr/local/mysql/support-files/mysql.server stop

Memulai dalam mode aman:

$ sudo mysqld_safe --skip-grant-tables --skip-networking

(di atas garis adalah seluruh perintah)

Ini akan menjadi sebuah perintah yang sedang berlangsung sampai proses ini selesai maka buka terminal/shell jendela, log in tanpa password:

$ mysql -u root

mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

Sebagai per @IberoMedia's komentar, untuk versi yang lebih baru dari MySQL, bidang ini disebut authentication_string:

mysql> UPDATE mysql.user SET authentication_string =PASSWORD('password') WHERE User='root';

Mulai MySQL menggunakan:

sudo service mysql start

atau

sudo /usr/local/mysql/support-files/mysql.server start

sandi baru anda 'kata'.

Komentar (10)

jika masih ada masalah mencoba untuk memaksa mengubah pass

/etc/init.d/mysql stop

mysqld_safe --skip-grant-tables &

mysql -u root

Setup new user root MySQL password

use mysql;
update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
flush privileges;
quit;

Menghentikan MySQL Server:

/etc/init.d/mysql stop

Mulai server MySQL dan test ini:

mysql -u root -p
Komentar (6)

Di awal start up server berikut ini terjadi, mengingat bahwa data direktori dari server kosong:

  • Server diinisialisasi.
  • SSL certificate dan key file yang dihasilkan dalam direktori data.
  • The validate_password plugin diinstal dan diaktifkan.
  • Superuser akun 'root'@'localhost' dibuat. Password untuk superuser diset dan disimpan dalam file log kesalahan.

Untuk mengungkapkan hal itu, gunakan perintah berikut:

shell> sudo grep 'temporary password' /var/log/mysqld.log

Mengubah password root sesegera mungkin dengan masuk dengan menghasilkan password sementara dan mengatur sandi untuk akun superuser:

shell> mysql -uroot -p 

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass5!'; 
Komentar (4)

Saya tahu ini Pertanyaan lama tapi aku merasa ini mungkin bisa membantu seseorang. Baru-baru ini saya dihadapkan dengan masalah yang sama tapi dalam kasus saya, saya ingat kata sandi saya cukup baik-baik saja tetapi terus memberi saya kesalahan yang sama. Aku mencoba begitu banyak solusi tapi masih tidak membantu maka saya mencoba ini

mysql -u root -p 

setelah itu meminta anda untuk menyampaikan kata-kata seperti ini

Enter password: 

dan kemudian saya mengetik kata sandi yang saya gunakan. Yang's semua

Komentar (4)

Hal itu terjadi ketika password anda hilang.

Langkah-langkah untuk mengubah password bila anda lupa:

  1. Menghentikan MySQL Server (Linux):

sudo systemctl stop mysql

  1. Mulai database tanpa loading tabel hibah atau mengaktifkan jaringan:

sudo mysqld_safe --skip-grant-tables --skip-networking &

Ampersand pada akhir perintah ini akan membuat proses ini berjalan di latar belakang sehingga anda dapat terus menggunakan terminal anda dan jalankan #mysql -u root, tidak akan meminta password.

Jika anda mendapatkan error seperti di bawah ini:

2018-02-12T08:57:39.826071 Z mysqld_safe Direktori '/var/run/mysqld' untuk UNIX soket file don't ada. mysql -u root ERROR 2002 (HY000): Bisa't terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.kaus kaki' (2) [1]+ Keluar 1

  1. Membuat MySQL layanan direktori.

sudo mkdir /var/run/mysqld

Memberikan pengguna MySQL izin untuk menulis ke layanan direktori.

sudo chown mysql: /var/run/mysqld

  1. Menjalankan perintah yang sama pada langkah 2 untuk menjalankan mysql di latar belakang.

  2. Menjalankan mysql -u root anda akan mendapatkan mysql console tanpa memasukkan password.

Jalankan perintah berikut ini

FLUSH PRIVILEGES;

Untuk MySQL 5.7.6 dan yang lebih baru

MENGUBAH USER 'root'@'localhost' DIIDENTIFIKASI DENGAN 'new_password';

Untuk MySQL 5.7.5 dan lebih tua

SET PASSWORD UNTUK 'root'@'localhost' = PASSWORD('new_password');

Jika PENGGUNA MENGUBAH perintah doesn't bekerja menggunakan:

UPDATE mysql.pengguna MENGATUR authentication_string = PASSWORD('new_password') WHERE User = 'root' DAN Host = 'localhost';

Sekarang keluar

  1. Untuk menghentikan misalnya dimulai secara manual

sudo kill cat /var/run/mysqld/mysqld.pid

  1. Restart mysql

sudo systemctl start mysql

Komentar (3)

Saya menggunakan Ubuntu-16.04 : menginstal mysql - 5.7. Saya Memiliki masalah yang sama : Login ditolak untuk user root.

Mencoba langkah di bawah ini:

  1. dpkg --get-selections | grep mysql (untuk mendapatkan versi mysql).

  2. dpkg-reconfigure mysql-server-5.7

  3. mysql -u root -p

Tanpa -p yang doesn't meminta anda untuk meminta password. Setelah anda berada di, anda bisa membuat user dengan password dengan langkah-langkah berikut : `` BUAT PENGGUNA 'your_new_username'@'anda-hostname' DIIDENTIFIKASI DENGAN 'anda-password';

GRANT ALL PRIVILEGES ON . ke 'your_new_username'@'anda-hostname' DENGAN GRANT OPTION; ``

Keluar dari akar dan login dari <nama> anda berikan di atas.

mysql -u <your_new_username> -p

Untuk beberapa alasan masih hanya mengetik mysql tidak bekerja. DI SEMUA. Saya sarankan untuk membuat suatu kebiasaan untuk menggunakan mysql -u <nama> -p.

Komentar (0)

Saya datang di ini sangat mengganggu masalah dan menemukan banyak jawaban yang tidak bekerja. Solusi terbaik saya datang di adalah untuk benar-benar uninstall mysql dan re-install. Di install ulang-anda menetapkan password root dan ini tetap masalah.

``

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.5 mysql-client-core-5.5 sudo rm -rf /etc/mysql /var/lib/mysql sudo apt-get autoremove sudo apt-get autoclean ``

Saya menemukan kode ini di tempat lain sehingga saya tidak mengambil kredit untuk itu. Tapi itu bekerja. Untuk menginstal mysql setelah menguninstall itu saya pikir digital ocean memiliki tutorial yang baik di atasnya. Checkout saya gist ini.
https://gist.github.com/JamesDaniel/c02ef210c17c1dec82fc973cac484096

Komentar (0)

Silakan baca dokumentasi resmi: Mysql: Cara Reset Password Root

Jika anda memiliki akses ke terminal:

MySQL 5.7.6 dan kemudian:

$ mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

MySQL 5.7.5 dan sebelumnya:

$ mysql
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Komentar (2)

saya menginstal MySQL sebagai root pengguna($SUDO) dan punya masalah yang sama Berikut adalah bagaimana saya tetap itu-

  1. $ sudo cat /etc/mysql/debian.cnf

Ini akan menunjukkan rincian sebagai-

# Secara otomatis dihasilkan untuk Debian script. JANGAN SENTUH! [klien] host = localhost user = debian-sys-maint password = GUx0RblkD3sPhHL5 socket = /var/run/mysqld/mysqld.kaus kaki [mysql_upgrade] host = localhost user = debian-sys-maint password = GUx0RblkD3sPhHL5 socket = /var/run/mysqld/mysqld.sock

Di atas kita dapat melihat password saja yang akan kita gunakan (GUx0RblkD3sPhHL5) yang di prompt-

mysql -u debian-sys-maint -p Masukkan password: sekarang memberikan password(GUx0RblkD3sPhHL5).

  1. Sekarang keluar dari MySQL dan login lagi sebagai-

mysql -u root -p Masukkan password: Sekarang memberikan password baru. Yang's semua, kita memiliki password baru untuk penggunaan lebih lanjut.

Ini bekerja untuk saya, semoga membantu anda juga!

Komentar (0)

hanya masuk terminal

mysql -u root -p . dari itu akan meminta password untuk anda

Komentar (0)

Jawabannya mungkin terdengar konyol, tapi setelah membuang-buang jam dari waktu, ini adalah bagaimana aku mendapatkannya untuk bekerja

mysql -u root -p

Saya mendapat pesan kesalahan

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Meskipun saya mengetik password yang benar(temporary password yang anda dapatkan ketika anda pertama kali menginstal mysql)

Aku benar ketika saya mengetik di password ketika password prompt berkedip

Komentar (0)

Saya menggunakan mysql-5.7.12-osx10.11-x86_64.dmg di Mac OSX

Proses instalasi secara otomatis set up sementara password untuk user root. Anda harus menyimpan password. Password tidak dapat dipulihkan.

Ikuti instruksi

  1. Pergi ke cd /usr/local/mysql/bin/
  2. Masukkan password sementara (yang akan terlihat seperti, "tsO07JF1=>3")
  3. Anda harus mendapatkan mysql> prompt.
  4. Run, SET PASSWORD UNTUK &#39;root&#39;@&#39;localhost&#39; = PASSWORD(&#39;{YOUR_PASSWORD}&#39;); Jika anda ingin mengatur sandi anda: "root" maka perintah akan sama, SET PASSWORD UNTUK &#39;root&#39;@&#39;localhost&#39; = PASSWORD(&#39;root&#39;);
  5. Menjalankan ALTER USER &#39;root&#39;@&#39;localhost&#39; PASSWORD tidak PERNAH BERAKHIR;
  6. Menjalankan keluar
  7. Run ./mysql -u root -p
  8. Ketik kata sandi anda. Dalam kasus saya, saya akan ketik, "root" (tanpa kutip)
  9. Yang's semua.

Untuk kenyamanan, anda harus menambahkan "/usr/local/mysql/bin" untuk JALAN anda

Sekarang dari mana saja anda bisa ketik ./mysql -u root -p dan kemudian ketik password dan anda akan mendapatkan mysql> prompt.

Semoga membantu.

Komentar (0)

Ini akan bekerja jika anda memasukkan perintah yang diucapkan dalam jawaban yang lain namun anda masih mendapatkan kesalahan ini:

mysqld_safe Logging to '/var/log/mysql/error.log'.
mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
[1]+  Exit 1                  sudo mysqld_safe --skip-grant-tables

Ikuti perintah di bawah ini langkah demi langkah sampai anda me-reset password anda:

# Stop Your Server First
sudo service mysql stop

# Make MySQL service directory.
sudo mkdir /var/run/mysqld

# Give MySQL permission to work with the created directory
sudo chown mysql: /var/run/mysqld

# Start MySQL, without permission and network checking
sudo mysqld_safe --skip-grant-tables --skip-networking &

# Log in to your server without any password.
mysql -u root mysql

# Update the password for the root user:
UPDATE mysql.user SET authentication_string=PASSWORD('YourNewPasswordBuddy'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';

#if you omit (AND Host='localhost') section, it updates the root pass regardless of its host

FLUSH PRIVILEGES;
EXIT;

#Now you can use your new password to login to your Server
mysql -u root -p
Komentar (0)

jika masih ada masalah mencoba untuk memaksa mengubah pass

Menghentikan MySQL Server (Linux):

/etc/init.d/mysql stop

Menghentikan MySQL Server (pada Mac OS X):

mysql.server stop

Mulai mysqld_safe daemon dengan --skip-grant-tables

mysqld_safe --skip-grant-tables &
mysql -u root

Setup new user root MySQL password

use mysql;
update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
flush privileges;
quit;

Menghentikan MySQL Server (Linux):

/etc/init.d/mysql stop

Menghentikan MySQL Server (pada Mac OS X):

mysql.server stop

Mulai MySQL server layanan dan uji coba untuk login dengan root:

mysql -u root -p
Komentar (0)

Hanya satu baris dan memecahkan masalah saya.

sudo dpkg-reconfigure mysql-server-5.5
Komentar (0)

Di Ubuntu 16.04 (MySQL versi 5.7.13) saya mampu menyelesaikan masalah dengan langkah-langkah di bawah ini:

  1. Ikuti petunjuk dalam bagian B. 5.3.2.2 Reset Password Root: Unix dan Unix-Seperti Sistem MySQL 5.7 referensi manual

  2. Ketika saya mencoba #sudo mysqld_safe --init-file=/home/saya/mysql-init & gagal. Kesalahan adalah di /var/log/mysql/kesalahan.log

2016-08-10T11:41:20.421946 Z 0 [Catatan] Pelaksanaan init_file '/home/saya/mysql/mysql-init' dimulai. 2016-08-10T11:41:20.422070 Z 0 [ERROR] /usr/sbin/mysqld: File '/home/saya/mysql/mysql-init' tidak ditemukan (Errcode: 13 - Permission denied) 2016-08-10T11:41:20.422096 Z 0 [ERROR] Batal

Izin file mysql-init tidak masalah, perlu mengedit apparmor izin

  1. Edit oleh #sudo vi /etc/apparmor.d/usr.sbin.mysqld

.... /var/log/mysql/ r, /var/log/mysql/** rw

Memungkinkan pengguna init file

/rumah/kantor/mysql/* r,

Situs-spesifik penambahan dan menimpa. Lihat lokal/README untuk rincian.

include <local/usr.sbin.mysqld>

} 4. Melakukan #sudo /etc/init.d/apparmor reload

  1. Mulai mysqld_safe lagi mencoba langkah 2 di atas. Cek di /var/log/mysql/kesalahan.log pastikan tidak ada kesalahan dan mysqld berhasil memulai

  2. Run #mysql -u root -p

Masukkan password:

Masukkan password yang anda tentukan di mysql-init. Anda harus dapat login sebagai root sekarang.

  1. Shutdown mysqld_safe oleh #sudo mysqladmin -u root -p shutdown

  2. Mulai mysqld cara biasa dengan #sudo systemctl start mysql

Komentar (0)

Pada Mac, Jika anda memiliki masalah dalam login dengan password yang diberikan dalam instalasi, mungkin anda hanya bisa hanya membunuh mysql proses dan kemudian mencoba.

Jadi: 1 - jalankan perintah berikut untuk menemukan PID dari mysql:

ps -aef | grep mysql | grep -v grep

2 - membunuh proses:

kill -15 [process id] 

Kemudian anda bisa login dengan password awal menggunakan perintah ini:

mysql -uroot -p

Yang meminta anda untuk memasukkan password anda. Hanya masukkan password awal.

Komentar (0)

Aku punya masalah yang sama:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (menggunakan password: NO)

Tapi dalam kasus saya, penyebabnya adalah benar-benar konyol. Saya menyalin perintah dari dokumen Word, dan masalahnya adalah bahwa sebuah tanda hubung tidak memiliki ASCII kode 2D tapi Unicode E28093.

Cara yang salah:

mysql -u root –pxxxx

Cara yang tepat:

mysql -u root -pxxxx

Keduanya terlihat sama tapi aren't yang sama (coba itu, copy dan paste mengganti password anda).

Dihadapkan dengan jenis kesalahan, rekomendasi ini adalah untuk mencoba mengetik perintah daripada menyalin dan menyisipkan.

Komentar (0)