Я хотел бы использовать как в Ubuntu, так и в Windows (двойная загрузка) файлы базы данных MySql, находящиеся в разделе NTFS. Это будет работать? Есть ошибки?
Я хотел бы использовать как в Ubuntu, так и в Windows (двойная загрузка) файлы базы данных MySql, находящиеся в разделе NTFS. Это будет работать? Есть ошибки?
Ответы:
Да, это работает, но с некоторыми причудами. MySQL использует одинаковые форматы файлов на разных платформах, поэтому все, что вам нужно, это предоставить общий доступ к каталогу данных. Одна проблема заключается в том, что каталог данных должен иметь mysql в качестве владельца и группы в Ubuntu. А в Windows регистр не учитывается, а в Linux регистр учитывается, поэтому сохраняйте все имена одинаковыми: либо полное, либо строчное, либо прописное, но не смешивайте их.
От начала и до конца; если у вас уже есть что-то настроенное, возможно, потребуется подстройка под ваши настройки:
sdXN
сейчас).Переместите каталог данных mysql из Ubuntu в новый раздел.
mkdir /{mountpoint}/mysql_data
sudo mv /var/lib/mysql /{mountpoint/mysql_data
использование mv
сохраняет разрешения.
Создайте новый каталог MySQL
sudo mkdir /var/lib/mysql
Смонтируйте раздел NTFS в /var/lib/mysql
. Измените имя устройства на то, что оно получило при создании раздела NTFS.
sudo mount /dev/{sdXN} /var/lib/mysql -t ntfs-3g -o uid=mysql,gid=mysql,umask=0077
Для автоматического монтирования при загрузке найдите раздел UUID, локаль и отредактируйте /etc/fstab
.
ls -l /dev/disk/by-uuid
locale -a
sudo gedit /etc/fstab
UUID={number_found_with_the_ls-l} /var/lib/mysql ntfs-3g uid=mysql,gid=mysql,umask=0077,locale={your_locale}.utf8 0 0
Измените путь /etc/mysql/my.cnf
к datadir, чтобы он указывал на/var/lib/mysql/mysql_data
Запустите сервер MySQL и протестируйте его.
Отредактируйте файл конфигурации Windows ( my.ini
) и установите для datadir значение X:/mysql_data
(замените место, X:
где вы монтируете его под Windows).
Составлено из темы 1442148 на UF.org .
Я получил работающую версию Ubuntu; так частично не проверено, так как у меня нет Windows
lower_case_table_names=1
его прекрасно работает. Без ваших параметров монтирования я столкнулся с этой ошибкой (которая, по-моему, действительно ошибка).
Если вы добавили раздел Linux в ранее существовавшую Windows-среду, вы можете использовать базу данных с небольшими изменениями. Длинная версия здесь , короткая версия:
Вам нужно mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql
будет запускаться при запуске (при условии, что вы подключили диск Windows к /media/windows
использованию fstab).
Чтобы обойти проверку размера журнала innodb, вам нужно переместить журналы innodb для раздела ubuntu. В my.cnf
, добавить innodb_log_group_home_dir = /var/log/mysql
так что журналы идти дальше в журнал ошибок MySQL.