Я хотел бы использовать как в Ubuntu, так и в Windows (двойная загрузка) файлы базы данных MySql, находящиеся в разделе NTFS. Это будет работать? Есть какие-нибудь ошибки?
Да, это работает, но с некоторыми причудами. MySQL использует те же форматы файлов через платформы так все, в чем Вы нуждаетесь, должен совместно использовать каталог данных. Одна проблема состоит в том, что каталог данных должен иметь mysql как владельца и группу в человечности. И 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
. Измените devicename на то, что это получило при создании раздела 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
Измените путь 'datadir' в /etc/mysql/my.cnf
указать на /var/lib/mysql/mysql_data
Запустите mysql сервер и протестируйте его.
Отредактируйте файл конфигурации Windows (my.ini
) и набор 'datadir' к X:/mysql_data
(замена X:
поскольку, где Вы монтируете его в соответствии с Windows).
Скомпилированный от темы 1442148 на UF.org.
Я получил работу версии Ubuntu; так частично непротестированный, так как у меня нет Windows
Если вы добавили раздел 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.
Столкнулся с такой же проблемой. Но я решил это, установив sqlite db в общую папку. Всякий раз, когда мы хотим sqlite для mysql и наоборот. мы можем использовать пакет python pip для его преобразования.
pip install sqlite3-to-mysql
pip install mysql-to-sqlite3
Это все!