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

Не удается запустить MYSQL после смены каталогов

Итак, у меня на жестком диске Linux стало не хватать места. Я добавил еще один жесткий диск и теперь хочу изменить каталоги MySQL. Таким образом, вместо того, чтобы сохранять данные на старый жесткий диск, он сохраняет их на новом жестком диске. Новый жесткий диск смонтирован как / Data /

Я искал несколько способов сделать это и следовал каждой инструкции. Но каждый раз, когда я следовал инструкциям, я получаю ошибку «ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет '/var/lib/mysql/mysql.sock'»

Я попытался переместить каталог, а затем связать старый каталог с новым. Та же ошибка.

Я попытался переместить весь каталог и изменить файл my.cnf в etc, чтобы он указывал на новый каталог, я даже изменил строку socket = / Data / mysql / mysql.sock с той же ошибкой.

** Кроме того, я убедился, что все права собственности принадлежат mysql: mysql

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

Спасибо!

В my.cnf вам нужно добавить путь к сокету в двух местах: в разделе [mysql] и в разделе -> [client] <-.

Вот типичный файл глобальных опций:

[клиент]
порт = 3306
сокет = / tmp / mysql.sock

[mysqld]
порт = 3306
сокет = / tmp / mysql.sock

После того, как вы переместите все в новую папку, вам необходимо убедиться, что у папки есть разрешения и права собственности mysql: mysql.

Ошибка, которую вы получаете, возникает не из-за запуска mysql с ошибками в месте, а из-за того, что вам нужно изменить расположение сокета в [client], `[mysqld] и любое другое место, в котором он появляется, в my.cnf

Это не имеет ничего общего с сокетами или разрешениями, я проверил, что selinux и apparmor были отключены, но mysql не запускался.

Я также пробовал символические ссылки на / var / lib / mysql. Удаление mysql и запуск с нуля - единственный способ заставить его работать.

шаг 1

полностью удалить mysql из вашей системы

шаг 2

смонтировать внешний жесткий диск в / var / lib / mysql

шаг 3

установите последнюю версию mysql, она скажет, что могут быть более ранние версии в / var / lib / mysql, просто игнорируйте это.

Mysql больше не видит разницы, и все в порядке.

Проверьте, остались ли еще какие-то процессы mysqld или нет?

# ps aux | grep mysqld

убить весь процесс mysqld (подождите 10 секунд, чтобы он полностью завершился):

# killall mysqld mysqld_safe

Если вы все еще видите больше, чем просто запустите эту команду:

killall -9 mysqld mysqld_safe

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

/etc/init.d/mysql start