when i try to view the databases in mysql i get this error:
ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)
And that stops my app from displaying...
My django debugger says:
(2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/my_database' (13)")
Here is my settings file :
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'my_database', # Or path to database file if using sqlite3.
'USER': 'root', # Not used with sqlite3.
'PASSWORD': '****', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
What can cause the problem?
Thanks in advance
On CentOS/RedHat, you should do the same thing on a different path:
I can confirm that these two chmod statements worked for me (Webmin didn't see the databases nor did show tables) but I'm not sure why I had to do this after setting up perhaps two dozen servers (Centos) with MySQL in that past few years.
You need to set ownership and permissions for directory:
Note:
-R
makes commands recursive - you may omit it, if there is no subdirs in/var/lib/mysql/
.For Us OS X Users, this should work:
Edit: Depending on how you installed mysql your mileage my vary. I installed using the mysql community server dmg installer on mysql.com
If this doesn't work, try running
which mysql
to see where your mysql installation is located, and then replace/usr/local/mysql/
in the command above with whatever is before the 'bin' directory.For example, on my system
which mysql
produces the following output:/usr/local/mysql/bin/mysql
so my path is
/usr/local/mysql/
osx high sierra use the following command solves the issue:
if you installed mariadb using homebrew you can run the following the command for OS X
sudo chown -R mysql:mysql /var/lib/var/mysql/ sudo chmod -R 777 /usr/local/var/mysql/