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

Akses ditolak untuk 'pengguna'@'localhost'

Saya tidak berpikir ini adalah masalah port, permintaan mencapai tujuannya. Menggunakan [email protected] akan berfungsi saat masuk melalui baris perintah (mysql -u root -p ) tetapi Anda tidak ingin menggunakannya untuk menghubungkan dengan kode Anda. Ingatlah bahwa saat membuat koneksi, Anda harus menggunakan host=localhost atau host=127.0.0.1 secara eksplisit. Jika Anda menggunakan alamat IP (bahkan di server yang sama), Anda akan mendapatkan penolakan akses.

[[email protected] ~]# mysql --host=127.0.0.1 --protocol=TCP -u root -p
Enter password:
mysql>
[[email protected] ~]# mysql --host=192.168.1.10 --protocol=TCP -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'hostname' (using password: YES)

Berikut adalah langkah-langkah yang saya sarankan untuk dilakukan:

  1. Buat pengguna khusus yang dapat Anda gunakan untuk menghubungkan skrip Anda.
  2. Jika sumber skrip adalah server yang sama dengan MySQL.

    CREATE USER '<user>'@'localhost'
    IDENTIFIED BY 'password';
    GRANT ALL
    ON <database>.*
    TO '<user>'@'localhost';
    
  3. Jika koneksi selalu dibuat dari tempat yang sama tetapi lokasi yang berbeda dari MySQL, jalankan perintah berikut pada baris perintah.

    CREATE USER '<user>'@'<IP_address>'
    IDENTIFIED BY 'password';
    GRANT ALL
    ON <database>.*
    TO '<user>'@'<IP_address>';
    
  4. Jika sumber koneksi berbeda-beda, jalankan perintah berikut.

    CREATE USER '<user>'@'<IP_address>'
    IDENTIFIED BY 'password';
    GRANT ALL
    ON <database>.*
    TO '<user>'@'%';
    

Berikut ini tautan ke dokumentasi jika Anda memiliki pertanyaan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengindeks setiap kolom dalam tabel

  2. Bagaimana cara menyimpan beberapa opsi dalam satu tabel?

  3. Bagaimana cara mengaktifkan mysqlnd untuk php?

  4. Bagaimana merancang database mysql multi tenant

  5. Apakah lebih baik mengembalikan satu kueri besar atau beberapa kueri yang lebih kecil?