URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4772
[ Назад ]

Исходное сообщение
"Как поменять катклог баз MySQL?"

Отправлено chainik , 27-Окт-05 11:55 
Директория по умолчанию для баз MySQL у меня /var/lib/mysql, но диск на котором этот каталог - слишком мал. Хочется перенести ее на другой диск, примонтированный, скажем, к /home, - например, чтобы каталогом баз был /home/mysql/. Как правильно это сделать?

О системе:
#mysql -V
mysql  Ver 14.7 Distrib 4.1.14, for slackware-linux-gnu (i486) using  EditLine wrapper


Содержание

Сообщения в этом обсуждении
"Как поменять катклог баз MySQL?"
Отправлено Tester123 , 27-Окт-05 12:48 
>Директория по умолчанию для баз MySQL у меня /var/lib/mysql, но диск на
>котором этот каталог - слишком мал. Хочется перенести ее на другой
>диск, примонтированный, скажем, к /home, - например, чтобы каталогом баз был
>/home/mysql/. Как правильно это сделать?
>
>О системе:
>#mysql -V
>mysql  Ver 14.7 Distrib 4.1.14, for slackware-linux-gnu (i486) using  EditLine
>wrapper


А если просто символическую ссылку сделать на более большую директорию?
ln -s
man ln


"Как поменять катклог баз MySQL?"
Отправлено chainik , 27-Окт-05 13:11 
>А если просто символическую ссылку сделать на более большую директорию?
>ln -s
>man ln

Собственно, я так и делаю (это работает), но у меня нет уверенности, что этот способ - правильный.

Точнее, я делаю так:

меняю домашнюю директорию пользователя mysql
usermod -d /home/mysql -m mysql
, а затем добавляю на нее мягкий линк:
cd /var/lib
ln -s /home/mysql mysql

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


"Как поменять катклог баз MySQL?"
Отправлено Tester123 , 27-Окт-05 13:26 
>Этот способ работает, но он должен быть ошибочным, так как нет причины
>делать линк, кроме как незнание, где указать прогрммам mysql правильную домашнюю
>директорию в явном виде. Так что вопрос пока остается...

Есть несколько способов решить проблему
Один из них я тебе подсказал, хотя ты его и сам знал.
Этот способ ошибочным считать нельзя т.к. он решает проблему.
Его можно назвать нестандартным, нелогичным, нерациональным, но только не неправильным.

Если хочешь методами SQL перекинуть - читай про initdb.
Но неуверен, что это правильно


"Как поменять катклог баз MySQL?"
Отправлено dimcha , 27-Окт-05 13:26 
>А если просто символическую ссылку сделать на более большую директорию?
>ln -s
>man ln

надо запускать mysqld с опцией --datadir=/path

man mysqld


"Как поменять катклог баз MySQL?"
Отправлено chainik , 27-Окт-05 16:15 
>надо запускать mysqld с опцией --datadir=/path

Это выглядит логичнее чем линк. А откуда вообще мой mysqld узнает о директории /var/lib/mysql? Нельзя ли это в какой-нибудь конфиг прописать, чтобы все скрипты в "первозданном" виде остались, ну и соответственно, при их обновлении/замене не приходилось бы вспоминать о том, что нужно подправить параметры запуска mysqld?


"Как поменять катклог баз MySQL?"
Отправлено dimcha , 27-Окт-05 16:27 
>>надо запускать mysqld с опцией --datadir=/path

>Это выглядит логичнее чем линк. А откуда вообще мой mysqld узнает о
>директории /var/lib/mysql? Нельзя ли это в какой-нибудь конфиг прописать, чтобы

он изначально был скомпилирован  с этими параметрами.

>скрипты в "первозданном" виде остались, ну и соответственно, при их обновлении/замене
>не приходилось бы вспоминать о том, что нужно подправить параметры запуска
>mysqld?

никак. Либо перекомпиляцией mysql, либо подправить скрипт mysqld_safe



"Как поменять катклог баз MySQL?"
Отправлено chainik , 27-Окт-05 18:32 
>никак. Либо перекомпиляцией mysql, либо подправить скрипт mysqld_safe

Так и есть, я все понял. Спасибо.


"Как поменять катклог баз MySQL?"
Отправлено chip , 27-Окт-05 20:45 
>никак. Либо перекомпиляцией mysql, либо подправить скрипт mysqld_safe

Не нужно вводить в заблужение людей:

[h]~ $ grep datadir /etc/my.cnf
datadir=/var/db/mysql
[h]~ $



"Как поменять катклог баз MySQL?"
Отправлено dimcha , 28-Окт-05 10:07 
>>никак. Либо перекомпиляцией mysql, либо подправить скрипт mysqld_safe
>Не нужно вводить в заблужение людей:
>[h]~ $ grep datadir /etc/my.cnf
>datadir=/var/db/mysql
>[h]~ $

Тоже вариант. Только my.cnf я, например, не использую и у меня в системе его вообще нет. Нет _изначально_.  Все параметры задаются при старте mysqld.