www-data
es el usuario de Debian que ejecuta apache y php. Si intenta una consulta cuando no tiene una conexión válida, php/mysql intentará crear una conexión usando <unix-user>@localhost
sin contraseña Aquí es donde [email protected] (using password:NO)
viene.
La razón más probable por la que esto ha comenzado a suceder ahora (aunque ha funcionado bien durante los 2 años anteriores) es que su carga de base de datos ha aumentado hasta el punto en que algunas conexiones no pueden tener éxito (probablemente debido a max_connections o max_user_connections; aunque esto también puede resultar de otros límites como memoria, subprocesos, etc.). Cuando esto sucede, su llamada a mysql_connect
emitirá un mensaje de error y devolverá FALSE
. Si no detecta esta falla, entonces su próxima llamada mysql (probablemente mysql_query o mysql_select_db) intentará conectarse a [email protected]
-- causando así el problema que está viendo.
Sugiero habilitar el informe de errores y la visualización de errores (como lo sugiere @DarkMantis):
ini_set('error_reporting', E_ALL|E_STRICT);
ini_set('display_errors', 1);
Además, asegúrese de que su llamada a mysql_connect no precedido por un @
señal; y asegúrese de comprobar el valor de retorno. Debería ser algo como esto:
$cxn = mysql_connect('localhost','yourusername','yourpassword');
if( $cxn === FALSE ) { die('mysql connection error: '.mysql_error()); }