Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Mysql move - won't work

Posted on 2014-03-08
Last Modified: 2014-03-09
I added a second hard drive to my VM.  The OS is Centos 5.x  My msyql database WAS located at /var/lib/mysql and I created a directory called /data/ that points to the new drive.  I moved all the files...created the mysql:mysql ownership...changed the my.cnf to show the new path:
socket = /data/mysql/mysql.sock

port = 3306
datadir = /data/mysql

BTW...the mysqld DOES start.  I can log on using the command line.  Just not the webserver.

Restarted server...tested connection to mysql...but I still get this from my web pages...

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in xxxxxxxxxxxxxxxxxx
I cannot connect to the database because: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

There has to be something still pointing to the /var/lib/mysql folder.  Anyone able to help?
Question by:Gabriel7
  • 4
  • 4
LVL 83

Expert Comment

by:Dave Baldwin
ID: 39915453
PHP has it's own MySQL drivers.  On one of my hosting companies, they are using "/var/lib/mysql/mysql.sock ".  On two others they are using "/var/run/mysqld/mysqld.sock".  Run 'phpinfo()' to see where your install is looking.

Open in new window


Author Comment

ID: 39915455
Shows this...

Where I'm trying to move from.

How do I?

Author Comment

ID: 39915462
Oddly enough, when I start the service it creates a file in the /data/mysql folder called msyql.sock.  When I shut down the service, it kills the file.  The file size is 0.

srwxrwxrwx 1 mysql mysql
Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

LVL 83

Expert Comment

by:Dave Baldwin
ID: 39915479
I looked on my Ubuntu system and I don't see where you can change the location for the PHP MySQL drivers.  I'm sure there's a way but I can see what it is.

Author Comment

ID: 39915482
Its not the drivers I'm looking to change.  Its the database.  I've already moved the databases...moved it to /data/mysql from /var/lib/mysql

Everything seems good...except...I can't get a page to load without that error...and I can't get phpinfo to show the correct path.  It still shows /var/lib/mysql.

if I do a ps -ef | grep mysql...the results show /data/mysql
LVL 83

Accepted Solution

Dave Baldwin earned 500 total points
ID: 39915496
Sorry but no, it's the PHP drivers that have that location which is why you are seeing it in 'phpinfo()'.  I believe they have been compiled with that path and nothing you've done so far has had any effect on them.

However, there are lines in 'php.ini' for MYSQL_SOCKET and for MYSQLI_SOCKET .  If you put your new location in those lines (which are normally blank) and restart Apache, you might get what you're looking for.  Make sure you are changing the 'php.ini' that Apache uses for PHP.

Author Comment

ID: 39915502
Dave...you were so right.  The relief you gave me...I can not tell you.  Thank you for your help and your patience!!!!  My system is working!!!
LVL 83

Expert Comment

by:Dave Baldwin
ID: 39915510
You're welcome, glad to help.

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The purpose of this article is to demonstrate how we can use conditional statements using Python.
Fine Tune your automatic Updates for Ubuntu / Debian
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question