GALAT 1698 (28000): Akses ditolak untuk 'root' @ 'localhost' pengguna di Ubuntu 18.04

22

Saya telah mengikuti tutorial ini untuk menginstal MySQL tetapi setelah berhasil menginstal MySQL, saya tidak dapat mengakses database.

GALAT 1698 (28000): Akses ditolak untuk 'root' @ 'localhost' pengguna

Ashrafuzzaman Sujan
sumber
1
Saya menghadapi masalah yang sama, setelah beberapa penggalian, mengerti bahwa Anda harus mengatur kata sandi root diri Anda mengikuti instruksi di StackOverFlow .
Mohammad.H Fathi

Jawaban:

46

Saya menemukan solusi di tautan di sini , dengan mengikuti solusi ini, saya telah memecahkan masalah saya.

Langkah singkatnya adalah:

sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test'; 

Catatan: di sini testadalah kata sandi baru untuk pengguna root. Juga, ingatlah untuk menjalankan perintah sudo service mysql restartsetelah mengubah pengguna.

Ashrafuzzaman Sujan
sumber
Terima kasih. Anehnya server mysql tidak ingin memasukkan kata sandi lagi.
gamofe
1
GALAT 1064 (42000): Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk sintaks yang tepat untuk digunakan di dekat 'USER' root '@' localhost 'DIIDENTIFIKASI DENGAN mysql_native_password OLEH' b230mehonot '' di baris 1
alhelal
kesalahan yang sama di sini ... :(
user1111929
@alhelal, Solusinya adalah untuk MySQL bukan untuk MariaDB. Jadi Anda bisa mencoba solusi lain.
Ashrafuzzaman Sujan
Jangan menulis root mysql -u, Cukup tulis "sudo mysql", Pada sistem Ubuntu yang menjalankan MySQL 5.7 (dan yang lebih baru), pengguna root diautentikasi oleh plugin auth_socket secara default.
ravisoni
13

Saya menemukan cara lain yang jauh lebih baik karena kita tidak perlu memberikan kata sandi untuk sistem lokal.
Seperti yang diikuti.

Buka terminal dan ketik

sudo mysql -u root -p

Ini akan meminta Anda di mysql, di sini Anda dapat menjalankan perintah mysql.

Gunakan tabel mysql untuk mengubah jenis tabel, sehingga kita dapat menggunakan kata sandi kosong. Di bawah adalah perintah untuk itu

USE mysql;

Sekarang kita mengubah tipe tabel dengan mengikuti perintah

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

sekarang kita harus menghapus hak istimewa, karena kita telah menggunakan UPDATE. Jika Anda menggunakan INSERT, UPDATE, atau DELETE pada tabel hibah secara langsung, Anda perlu menggunakan FLUSH PRIVILEGES untuk memuat ulang tabel hibah.

FLUSH PRIVILEGES;

sekarang keluar dari mysql dengan mengikuti perintah

exit;

sekarang restart server mysql dengan mengikuti perintah

service mysql restart

Semoga ini bisa membantu

Terima kasih.

Krunal Pathak
sumber
2
Ini adalah jawaban yang tepat
Ningappa
Terima kasih Senang membantu :)
Krunal Pathak