PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Wednesday, January 12, 2022

[FIXED] MySql Error: cannot connect to local MySql server through socket '/var/run/mysqld/mysqld.sock' (2), while other pages do connect correctly

 January 12, 2022     cakephp, mysql, php, phpmyadmin, sockets     No comments   

Issue

I understand this problem has been a recurring problem on this site, but my issue is a little different than the previous ones.

PROBLEM

Some pages use the correct socket directory, while other pages try and connect through an incorrect socket directory or this is what I believe the problem is based on the error i am receiving.

DETAILS

HOST: example.com

cakePHP version: 1.3.2 (Not my choice).

Page's content comes from database.

URL: http://example.com

My website has 2 sections:

  • anonymous section
  • login section for members or admin

The anonymous section works. It accesses the database, adds the content, and funcitons as it should.

ERROR

The error occurs when I click a link "view more.." under "Job Links" on the home page. A login form should pop up, instead i receive the error "cannot connect to local MySql server through socket '/var/run/mysqld/mysqld.sock' (2)".

In addition, after I login via the "Members login" button, also on the home page, with the correct credentials, it also produces the same error.

QUESTION

Why would different sections on my webpage try to access the sockets through different directories?

ADDITIONAL STUFF

I signed up today and this is my first post, so feedback on my post regarding enough information would be helpful for future posts.

Thanks for your time.

UPDATE

Upon further research, MySql has been using the socket directory /var/run/mysqld/mysqld.sock from the start. Not sure what this means yet, but continuing research..

database.php file

class DATABASE_CONFIG {

var $default = array(
    'driver' => 'mysqli',
    'persistent' => true,
    'host' => 'redlabelcom.netfirmsmysql.com',
    'login' => 'bcp',
    'password' => '********',
    'database' => 'bcp',
    'prefix' => '',
    'encoding' => 'UTF8',
    //'socket' => '/var/run/mysqld/mysqld.sock', // I've tried commenting out all variations of socket and port
    //'port' => '/var/run/mysqld/mysqld.sock',   // nothing works.
);

var $test = array(
    'driver' => 'mysqli',
    'persistent' => false,
    'host' => 'redlabelcom.netfirmsmysql.com',
    'login' => 'bcp',
    'password' => '********',
    'database' => 'bcp',
    'prefix' => '',
    'encoding' => 'UTF8',
    //'port' => '/var/run/mysqld/mysqld.sock',
);

} ?>


Solution

PROBLEM SOLVED!

Thanks everyone for your support!

This was an interesting issue that initially looked more complicated than the actual problem.

cakephp version 1.3.2 is set up to make a new connection to the database if you need to access the phpbb data fields. The new connection uses a different configuration than what is set up in the database.php file.

Below is a detailed description with file locations.

the 'app/webroot/discussion/common.php' file makes a NEW connection to the database using a different set of MySql parameters than the database.php file. Again, it does NOT use database.php's MySql configuration.

Instead, cakephp defines new connection variables located at: 'app/webroot/discussion/config.php'

To solve the problem, simply change the

$dbhost => localhost -> $dbhost => yourservername

$dbname => wrongname -> $dbname => rightname

etc..

Keep in mind that it is possible the previous developer changed these values, so if this doesn't help you then good luck.

BTW, the error message above was the result of trying to connect to localhost.



Answered By - Ron Ross
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing