Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

akses ditolak untuk root pengguna @ localhost

Biarkan 2 baris berikut gagal jika pengguna ada dan blahblah tidak masalah untuk saat ini:

create user 'root'@'localhost' identified by 'blahblah';
create user 'root'@'127.0.0.1' identified by 'blahblah';

Lakukan hibah Anda:

grant all on *.* to 'root'@'localhost';
grant all on *.* to 'root'@'127.0.0.1';

Ubah kata sandi menjadi sesuatu yang akan Anda ingat:

set password for 'root'@'localhost' = password('NewPassword');
set password for 'root'@'127.0.0.1' = password('NewPassword');

Lihat berapa banyak pengguna root yang Anda miliki. Pengguna sebenarnya adalah kombo pengguna/host. Kata sandi akan muncul dalam bentuk hash:

select user,host,password from mysql.user where user='root';

atau

select user,host,authentication_string from mysql.user where user='root';

Yang ke-2 di atas adalah untuk MySQL 5.7

Jika Anda mendapatkan lebih dari dua pengguna di atas, lepaskan yang lain seperti:

drop user 'root'@'%';   -- this is the wildcard hostname, can be a security risk
drop user 'root'@'::1';

Masih punya 2 saja? Saya harap begitu. Gunakan stmts pilih di atas untuk memeriksa.

Jangan sambungkan aplikasi pengguna menggunakan root. root hanya untuk pemeliharaan. Tidak masalah apakah itu kode sisi server, atau jika admin menjalankannya. Kode yang tidak diamankan dan/atau disuntik dengan pernyataan berbahaya dapat dijalankan sebagai root. Jadi, itulah alasannya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL pilih untuk pembaruan mengembalikan set kosong meskipun ada baris

  2. Apakah MySQL yang disertakan dengan MAMP tidak menyertakan file konfigurasi?

  3. Mulai ulang Mysql dengan PHP

  4. Hitung baris lain dalam tabel dengan nilai yang sama

  5. Kesalahan penguraian data org.json.JSONException:Akhir input pada karakter 0 dari - Android