root mysql -u tidak berfungsi tetapi sudo root mysql -u tidak berfungsi, mengapa?

9

Saya baru-baru ini mengikuti beberapa tutorial dan menginstal mysql menggunakan sudo apt-get install mysql-server-5.7

Saya dapat terhubung ke database menggunakan kata sandi dengan menjalankan perintah berikut:

sudo mysql -u root -p

Saya mencoba terhubung dengan menjalankan:

mysql -u root -p

tapi saya mendapatkan kesalahan:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Mengapa? Bagaimana saya bisa memperbaikinya?

pengguna1379280
sumber
2
Sayang downvoter, bisakah Anda juga memberikan alasan untuk downvote, setidaknya sebuah eksplorasi mengapa ini adalah pertanyaan bodoh?
user1379280
Ini mungkin terkait. Lihatlah beberapa jawaban: askubuntu.com/questions/766334/…
Terrance
Apakah Anda menetapkan kata sandi root untuk mysql selama instalasi?
steeldriver
@steeldriver: ya saya lakukan
user1379280

Jawaban:

23
  1. Akses dengan sudo: sudo mysql -u root -p
  2. Hapus pengguna root: drop user 'root'@'localhost';
  3. Buat pengguna root lagi: create user 'root'@'%' identified by 'your_password';
  4. Berikan izin: grant all privileges on *.* to 'root'@'%' with grant option;
  5. Perbarui tabel izin: flush privileges;
  6. Keluar dari MYSQL dan coba sambungkan kembali tanpa sudo.

Font: tidak dapat masuk sebagai root pengguna mysql dari akun pengguna normal di ubuntu 16.04

thiagoBarbosa48
sumber
Terima kasih! Langkah-langkah ini juga berhasil untuk saya dan sekarang saya tidak perlu sudomenggunakan mysql! Sepertinya mengganti host localhostdengan %menyelesaikan masalah untuk saya.
Vikram Hosakote
tetapi masih tidak dapat mengakses dari jarak jauh
Ciasto piekarz
Tidak bekerja untuk saya, sekarang saya tidak bisa masuk dengan atau tanpa sudo!
David Powell