Назад | Перейти на главную страницу

Как заново создать /tmp/mysql.sock?

У меня довольно простая проблема, я случайно удалил файл /tmp/mysql.sock

Теперь я не могу использовать mysqladmin или что-то еще

Как я могу воссоздать этот файл?

Прежде чем задать этот вопрос, я просмотрел связанные вопросы, но не смог найти нужную информацию.

Спасибо

Перезапустите mysqld.

/etc/init.d/mysql restart

или

/sbin/service mysql restart

Просто перезапустите демон MySQL.

Вы не можете воссоздать его, так как это именованный сокет. Как говорили другие, вы должны перезапустить mysqld.

Вы уверены, что ваш mysql.sock находится внутри / tmp /? Я думаю, что обычно он находится в / home / mysql или в каталоге данных (/ var / lib / mysql /). Вы также можете проверить, доступен ли он еще там.

Если это так, вместо перезапуска демона вы можете просто создать программную ссылку на / tmp:

ln -s /var/lib/mysql/mysql.sock /tmp/

отредактировал my.cnf, чтобы отразить это (заменив "socket = /var/lib/mysql/mysql.sock" на "socket = /opt/lampp/var/mysql/mysql.sock")

Вы можете увидеть это даже после запуска mysqld, потому что процесс все еще настраивается. Я видел, как Innodb занимал несколько минут, а может быть и больше, для восстановления, и в течение этого времени не было файла сокета. Проверьте журнал ошибок Mysql, чтобы узнать, происходит ли подобное действие (tail -f /var/log/mysql.err).

Нужно создать /var/run/mysqld/, и используйте эти cmds:

mkdir /var/run/mysqld/
chmod 777 /var/run/mysqld
service mysql start