sql >> Database teknologi >  >> RDS >> Mysql

Kan ikke oprette forbindelse til lokal MySQL-server via socket

Da fejlen bliver kastet af kaldet til mysql_real_escape_string() det antyder snarere, at du ikke kaldte mysql_connect() først og send et gyldigt db-håndtag til mysql_real_escape_string (eller opkaldet til mysql_connect() mislykkedes).

I nogle tilfælde vil mysql-udvidelsen forsøge at oprette forbindelse automatisk ved hjælp af standardindstillingerne i php.ini, og mislykkes over til my.cnf, hvis disse ikke er tilgængelige - som åbenbart ikke er gyldige. Eller det kan være, at indstillingerne er gyldige, men mysqld'en kører ikke.

Har du scripts, der forbinder til databasen med succes?

Har du et brugernavn og en adgangskode til databasen?

Prøv:

check_running();

$user=''; // fill in your details
$password=''; // fill in your details

$hosts=array(
  'localhost', '127.0.0.1', $_SERVER['HTTP_HOST'], $_SERVER['SERVER_ADDR']
);
foreach ($hosts as $addr) {
   try_con($addr, $user, $password);
   try_con($addr . ':3306', $user, $password);
}

function try_con($host, $user, $password)
{
 $dbh=mysql_connect($host, $user, $password);
 if ($dbh) {
     print "Connected OK with $host, $user, $password<br />\n";
 } else {
     print "Failed with $host, $user, $password<br />\n";
 }
}

function check_running()
{
   // this assumes that you are using Apache on a Unix/Linux box
   $chk=`ps -ef | grep httpd | grep -v grep`;
   if ($chk) {
      print "Checking for mysqld process: " . `ps -ef | grep mysqld | grep -v grep` . "<br />\n";
   } else {
       print "Cannot check mysqld process<br />\n";
   }
 }


  1. SQLite JSON_QUOTE()

  2. mysql-lignende præstationsboost

  3. Analyse med MariaDB AX - tThe Open Source Columnar Datastore

  4. Proaktive SQL Server-sundhedstjek, del 5:Ventestatistik