2012-05-23 2 views
2

Когда я подключить базу данных с помощью PHP скрипт он показываетНевозможно подключиться: Не удается подключиться к локальному серверу MySQL через разъем «/var/lib/mysql/mysql.sock» (2)

Could not connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 

имя пользователя и пароль верны.

что-то из my.cnf

[client] 
#password  = your_password 
port   = 3306 
socket   = /data/mysql/mysql.sock 

# Here follows entries for some specific programs 

# The MySQL server 
[mysqld] 
port   = 3306 
socket   = /data/mysql/mysql.sock 
skip-external-locking 

пс: я изменить его socket = /var/lib/mysql/mysql.sock сценарий PHP все еще говорит "/var/lib/mysql/mysql.sock" ?. затем запустить

mysqladmin -u root -p status 

это показывает

mysqladmin: connect to server at 'localhost' failed 
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' 
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists! 




service mysqld restart 


mysqld: unrecognized service 
+1

Ошибка говорит вы пытаетесь использовать '/ вар/lib/mysql/mysql.sock', тогда как ваша конфигурация предполагает, что сокет фактически находится в '/ data/mysql/mysql.sock' ... – eggyal

+0

Я меняю его на socket = /var/lib/mysql/mysql.sock ошибки все еще существуют – run

+0

В системе Debian команда перезапуска MySQL сервер является 'службой mysql restart' –

ответ

1

Q: Есть ли ваш my.conf еще говорит "/var/lib/mysql/mysql.sock"?

В: Существует ли каталог «/ var/lib/mysql»?

Вопрос: Имеет ли ваш пользователь mysql (или, лучше, группа mysql) разрешение записи?

Если это так, попробуйте перезапустить mysql и посмотреть, что произойдет.

ДОПОЛНЕНИЕ:

одна вещь, чтобы попытаться это создать в mysql.sock и явно дать такое разрешение:

cd /var/lib 
mkdir mysql 
touch mysql/mysql.sock 
chown -R mysql:mysql mysql 
+0

мне очень жаль. Я новичок в Linux. Я не знаю, как проверить ваш 3Q. не могли бы вы рассказать мне, как их проверить. большое спасибо – run

+0

1) sudo bash # стать «root», 2) ls -ld/var/lib/mysql # проверить, существует ли каталог, а разрешения каталога – paulsm4

+0

ls:/var/lib/mysql: Нет такого файла или каталога – run

Смежные вопросы