2012-01-20 2 views
1

Я попытался перезапустить сервер Mysql, но он не работает для меня. Я уверен, что сервер работает, и права на папку /var/lib/mysql/ верны (777).Не удается подключиться к локальному серверу MySQL через сокет '/var/lib/mysql/mysql.sock'

Когда я попытался открыть файл mysql.sock, он дал мне сообщение о том, что файл может быть поврежден.

Пожалуйста, помогите мне войти в DB. Заранее спасибо.

Это как my.cnf выглядит

datadir=/var/lib/mysq 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
#Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 
user   = mysql 
pid-file  = /var/run/mysqld/mysqld.pid 
socket   = /var/run/mysqld/mysqld.sock 
port   = 3306 
basedir   = /usr 
datadir   = /var/lib/mysql 
tmpdir   = /tmp 
skip-external-locking 
+0

укажите содержимое вашего файла /etc/mysql/my.cnf, а также журналы /mnt/data/*.err, и вам будет легче помочь. также посмотрите, можете ли вы войти через mysqladmin или что-то в этом роде –

+0

попробуйте явно использовать адрес localhost: 127.0.0.1 – dave

+0

Я пробовал 'mysql -h 127.0.0.1 -uroot -p' тоже, но он не работал – MUFC

ответ

0

вы можете проверить, если MySQL запущен с помощью следующей команды: mysqladmin -u -p корень состояния

Также попробуйте изменить разрешение на папку тузд , Если вы работаете на местном уровне, вы можете попробовать:

Судо CHMOD -R 777/вар/Lib/MySQL/

+0

я попытался все это, но ничего не работает – MUFC

+0

OK .. попробуйте этот Отредактируйте файл /etc/my.cnf и указать [туздЫ] сокет =/вар/Lib/MySQL/mysql.socket [client] socket =/var/lib/mysql/mysql.socket и перезапустить сервер mysql («etc/init.d/mysql restart») –

0

Как то, что вы дать от вашего my.cnf.

Пожалуйста, убедитесь, что обе точки сокета одинаковы с файлом. Вам не хватает его. Пожалуйста, убедитесь в этом. Измените его, как я изменил

datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
#Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 
user   = mysql 
pid-file  = /var/run/mysqld/mysqld.pid 
socket   = /var/lib/mysql/mysql.sock 
port   = 3306 
basedir   = /usr 
datadir   = /var/lib/mysql 
tmpdir   = /tmp 
skip-external-locking 

ваши оба гнезда указывают на разные файлы.

Попробуй ..

0

У меня была та же проблема, некоторое время назад. Я обновил свою машину, и розетка перестала работать. Мое решение состояло в том, чтобы сменить сокет на место, где он может быть открыт каждым процессом.

В /etc/mysql/my.cnf (или там, где этот файл)

[client] 
    port = 3306 
    #socket = /var/run/mysqld/mysqld.sock 
    socket = /tmp/mysqld.sock # This location did it for me 


    [mysqld_safe] 
    #socket = /var/run/mysqld/mysqld.sock 
    socket = /tmp/mysqld.sock 
    ... 

    [mysqld] 
    ... 
    #socket = /var/run/mysqld/mysqld.sock 
    socket = /tmp/mysqld.sock 
    ... 

Представляется важным, что все профили используют тот же сокет. Также вы захотите изменить /etc/mysql/debian.cnf и обновить сокет. Надеюсь это поможет!

3

mysqld должен быть запущен в порядке создания mysql.sock и доступа любым процессом. проверьте, работает ли он.

У меня была такая же проблема и была проверена, запущена ли mysqld, и я узнал, что это не так, поэтому я начал mysqld. Это должно решить проблему.

+0

Твой помог мне! На всякий случай: 'sudo service mysqld start' – Edenshaw

0

Если служба mysqld не запущена, файл mysql.sock отсутствует в каталоге/var/lib/mysql; Пожалуйста, запустите mysqld, используя сервис mysqld start как пользователь root;

, а затем запустить mysql из оболочки, чтобы запустить базу данных mysql; Это сработало для меня с тем же сообщением об ошибке;

0

Возможно, вы захотите проверить разрешения, владельца и группу на файлы для каталога /var/lib/mysql, а также файлы в нем.

У меня возникла аналогичная проблема, когда я переместил каталог /var/lib/mysql на новую машину. Во время копирования разрешения были изменены, а владелец и группа были изменены на root.Изменение владельца и группы (chown user:group file/directory) и разрешений (chmod <value> filename/s) учетной записи администратора MySQL разрешило проблему.

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