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

Akses ditolak untuk pengguna 'www-data'@'localhost - bagaimana cara mengatasinya?

www-data adalah pengguna Debian yang menjalankan Apache dan php. Jika Anda mencoba kueri saat Anda tidak memiliki koneksi yang valid, php/mysql akan mencoba membuat koneksi menggunakan <unix-user>@localhost tanpa kata sandi. Di sinilah [email protected] (using password:NO) berasal dari.

Alasan yang paling mungkin mengapa ini mulai terjadi sekarang (meskipun telah berjalan dengan baik selama 2 tahun sebelumnya) adalah bahwa beban db Anda telah meningkat ke titik di mana beberapa koneksi tidak dapat berhasil (mungkin karena max_connections, atau max_user_connections; meskipun ini juga dapat dihasilkan dari batasan lain seperti memori, utas, dll). Ketika ini terjadi, panggilan Anda ke mysql_connect akan memancarkan pesan kesalahan, dan mengembalikan FALSE . Jika Anda gagal mendeteksi kegagalan ini, maka panggilan mysql Anda berikutnya (mungkin mysql_query, atau mysql_select_db) akan mencoba koneksi ke [email protected] -- sehingga menyebabkan masalah yang Anda lihat.

Saya sarankan mengaktifkan pelaporan kesalahan, dan tampilan kesalahan (seperti yang disarankan oleh @DarkMantis):

ini_set('error_reporting', E_ALL|E_STRICT);
ini_set('display_errors', 1);

Juga, pastikan bahwa panggilan Anda ke mysql_connect tidak didahului oleh @ tanda; dan pastikan untuk memeriksa nilai pengembalian. Seharusnya terlihat seperti ini:

$cxn = mysql_connect('localhost','yourusername','yourpassword');
if( $cxn === FALSE ) {  die('mysql connection error: '.mysql_error()); }


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memasukkan karakter utf-8 mb4 (emoji di ios5) di mysql?

  2. Bandingkan hanya hari dan bulan dengan bidang tanggal di mysql

  3. Menghitung perbedaan antara dua tanggal dalam PHP

  4. Kesalahan regex mysql #1139 menggunakan literal -

  5. Mengambil baris, dengan data dari tabel pasangan nilai kunci di MySQL