When I run this command find / -name my.cnf
I find two locations for my.cnf
/opt/lampp/etc/my.cnf
/etc/mysql/my.cnf
I don't get which one is used by MySQL server?
And, when i run command php artisan migrate
, I get this error
[PDOException]
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '
/var/run/mysqld/mysqld.sock' (2)
You can all see very clearly the error path showing /var/run/mysqld/mysqld.sock
(Actually, in my system/desktop. There is no folder name "mysqld" inside "run folder")
I have a `mysql.sock` file inside /opt/lampp/var/mysql/mysql.sock
So, what can be the issue. ?? Please help. I asked the question here bind-address not present in my.cnf file - Laravel 3 hours before, but no response until now.
Make sure that MySQL is running first (simple, but good to check!), and make sure that the correct install of MySQL is being run (if you have a LAMP install as well as a standalone MySQL install).
If you are connecting using
localhost
, try connecting using127.0.0.1
. This may use a TCP/IP connector instead of the socket - just a workaround.I think you have to uninstall lamp , it's better to use a manual configuration install mysql and apache2 manualy don't use lamp !
First of all,
$ php -i |grep php\.ini
command OR click where can I find the php.ini for php-cli.And, make sure these lines are present or not.
a)
extension=mysql.so
b)extension=pdo_mysql.so
sudo apt-get install php5-mysql
Now, type
php artisan migrate
command. I'm sure you will get errorNow,
localhost
to127.0.0.1
/opt/lampp/bin/php
.Then, remove
php_mssql.dll extension
(for non-windows)'unix_socket' => '/opt/lampp/var/mysql/mysql.sock'
,Find the complete path of
mysql.sock
, and add it