Я попытался изменить каталог базы данных, datadir, я сделал следующие шаги. Моя машина: Ноутбук Ubuntu 11.10 64-bit
Установка:
sudo apt-get install mysql-server mysql-client
Все в порядке, я могу создавать базы данных, таблицы, все в порядке. Измените datadir:
1) $ /etc/init.d/mysql stop
2) $ cp -R -p /var/lib/mysql /new_path
3) $ rm /new_path (this only remove files unnecessary)
4) $ gedit /etc/mysql/my.cnf
Измените «datadir = var / lib / mysql» на новый путь.
5) $ gedit /etc/apparmor.d/usr.sbin.mysqld
Измените "/ var / lib / mysql" на новые строки с помощью "/ new_path / mysql"
6) $ /etc/init.d/apparmor reload
7) $ /etc/init.d/mysql restart
8) $ service mysql status (is Ok)
Ошибка следующая.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
Я пытался изменить разрешения в / new_path / mysql и не работал.
Я пытался скопировать только базы данных (не все файлы в mysql dir), и это не сработало
Я видел на другом форуме, что мне нужно изменить /etc/apparmor.d/usr. sbin.mysqld следующее
/var/run/mysqld/mysqld.pid w,
/var/run/mysqld/mysqld.sock w,
Заменить "/ var / run / mysqld / mysqld" на "/ {, var /} run / mysqld / mysqld", но в моем случае это было с "/ {, var /} запустить / mysqld / mysqld "по умолчанию.
Пожалуйста, мне нужна помощь, у меня есть 2 недели с этой проблемой.
Спасибо.
Чтобы это сработало, мне нужно было изменить файлы mysql в /etc/apparmor.d/usr.sbin.mysqld . Символическая ссылка по какой-то причине была недостаточно хороша. Возможно, ссылка не существовала до запуска apparmor. Поэтому я сделал следующее:
nano /etc/apparmor.d/usr.sbin.mysqld
и изменил
#/var/lib/mysql/ r,
#/var/lib/mysql/** rwk,
/mysql/mysql/ r,
/mysql/mysql/** rwk,
, где / mysql была моей точкой монтирования для всего моего хранилища данных mysql (SSD-накопитель).
Я получил подсказку от поста walli в: Re: MySQL ERROR 2002 (HY000): не могу подключиться к локальной
Мне повезло, что я нашел решение этой проблемы проблема. Для меня было все время найти решение. Я надеюсь, это поможет вам. Было бы неплохо опубликовать заметку об этой проблеме непосредственно в файле my.cnf . Я просто не знаю, кому это отправить.
Вы можете сделать это:
CD /var/lib/
tar -cf - mysql | (cd /new_path ; tar -xvf -)
затем (потому что это всегда хорошая идея) сделать резервную копию.
mv /var/lib/mysql /var/lib/mysql.old
затем символическая ссылка
ln -s /new_path/mysql/ /var/lib
в этом случае вам не нужно прикасаться к /etc/mysql/my.cnf
.