Ваш диск/tmp полон, и Ваше приложение, вероятно, получает загруженные файлы в/tmp прежде, чем поместить его везде, где он действительно принадлежит.
Другая возможность состоит в том, что у Вас есть миллионы itty крошечных файлов, и у Вас закончился inodes, Вы видите, с каким количеством inodes Вы уехали df -i
. Но это - почти наверняка то, что/tmp полон, который является проблемой.
Вы получаете ошибку не из-за того, что запускаете mysql не в том месте, а из-за того, что вам нужно изменить расположение сокета в [client]
, `[mysqld] и любое другое место, в котором он появляется, в my.cnf
После того, как вы переместите все в новую папку, вам необходимо убедиться, что у папки есть разрешения и права собственности mysql: mysql.
В my.cnf вам нужно добавить путь к сокету в двух местах: В разделах [mysql] и -> [client] <-.
Вот типичный файл глобальных параметров:
[клиент]
порт = 3306
сокет = / tmp / mysql.sock
[mysqld]
порт = 3306
сокет = / tmp / mysql.sock
Это не имеет ничего общего с сокетами или разрешениями, я убедился, что selinux и apparmor отключены, но mysql по-прежнему не запускается.
Я также пробовал использовать символические ссылки на / var / lib / mysql. Удаление mysql и начало с нуля - единственный способ заставить его работать.
полностью удалить mysql из вашей системы
подключить внешний жесткий диск к / var / lib / mysql
установить последнюю версию mysql он скажет, что в / var / lib / mysql могут быть более ранние версии, просто игнорируйте их.
Mysql больше не может отличить разницу, и все в порядке.
Ellenőrizze, hogy vannak-e még valami mysqld-folyamatok, vagy sem?
# ps aux | grep mysqld
megöli az összes mysqld-folyamatot (Várjon 10 másodpercet, hogy tiszta leálljon):
# killall mysqld mysqld_safe
Ha még mindig képes lásd többet, mint futtatja ezt a parancsot:
killall -9 mysqld mysqld_safe
Indítsa újra a mysqld-t:
/etc/init.d/mysql start