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
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.
Control application downtime with dependency maps

Visualize the interdependencies between application components better with Applications Manager's automated application discovery and dependency mapping feature. Resolve performance issues faster by quickly isolating problematic components.


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 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

Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

Question has a verified solution.

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

Suggested Solutions

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
The purpose of this article is to demonstrate how we can use conditional statements using Python.
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
The viewer will learn how to count occurrences of each item in an array.

863 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

Need Help in Real-Time?

Connect with top rated Experts

26 Experts available now in Live!

Get 1:1 Help Now