Ich möchte in Ubuntu und Windows (Dual Boot) meine MySql-Datenbankdateien verwenden, die sich auf einer NTFS-Partition befinden. Wird es funktionieren? Irgendwelche Fallstricke?
Ich möchte in Ubuntu und Windows (Dual Boot) meine MySql-Datenbankdateien verwenden, die sich auf einer NTFS-Partition befinden. Wird es funktionieren? Irgendwelche Fallstricke?
Antworten:
Ja, es funktioniert aber mit einigen Macken. MySQL verwendet plattformübergreifend dieselben Dateiformate, sodass Sie lediglich das Datenverzeichnis freigeben müssen. Ein Problem ist, dass das Datenverzeichnis mysql als Eigentümer und Gruppe in Ubuntu haben muss. Bei Windows wird zwischen Groß- und Kleinschreibung unterschieden, und bei Linux wird zwischen Groß- und Kleinschreibung unterschieden. Achten Sie daher darauf, dass alle Namen einheitlich sind.
Vom Start zum Ziel; Wenn Sie bereits Dinge eingerichtet haben, müssen Sie möglicherweise einige Anpassungen vornehmen, um sie an Ihr Setup anzupassen:
sdXN
jetzt).Verschiebe das mysql data Verzeichnis von Ubuntu auf die neue Partition.
mkdir /{mountpoint}/mysql_data
sudo mv /var/lib/mysql /{mountpoint/mysql_data
Verwendung mv
speichert Berechtigungen.
Erstellen Sie ein neues MySQL-Verzeichnis
sudo mkdir /var/lib/mysql
Hängen Sie die NTFS-Partition unter ein /var/lib/mysql
. Ändern Sie den Gerätenamen in den Namen, den er beim Erstellen der NTFS-Partition erhalten hat.
sudo mount /dev/{sdXN} /var/lib/mysql -t ntfs-3g -o uid=mysql,gid=mysql,umask=0077
Um beim Booten automatisch zu aktivieren, suchen Sie die Partitions-UUID und das Gebietsschema und bearbeiten Sie sie /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
Ändern Sie den 'datadir'-Pfad in /etc/mysql/my.cnf
, um auf zu zeigen/var/lib/mysql/mysql_data
Starten Sie den MySQL-Server und testen Sie ihn.
Bearbeiten Sie die Windows-Konfigurationsdatei ( my.ini
) und setzen Sie 'datadir' auf X:/mysql_data
(ersetzen X:
Sie, wo Sie es unter Windows bereitstellen ).
Zusammengestellt aus Thema 1442148 auf UF.org .
Ich habe die Ubuntu-Version zum Laufen gebracht; also teilweise ungetestet da ich kein windows habe
lower_case_table_names=1
funktioniert einwandfrei. Ohne Ihre Mount-Optionen bin ich auf diesen Bug gestoßen (der meiner Meinung nach tatsächlich ein Bug ist).
Wenn Sie einer früheren Windows-Umgebung eine Linux-Partition hinzugefügt haben, können Sie die Datenbank mit nur geringfügigen Änderungen verwenden. Lange Version hier , kurze Version:
Sie müssen mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql
beim Start ausgeführt werden (vorausgesetzt, Sie mounten Ihr Windows-Laufwerk /media/windows
mit fstab).
Um die Überprüfung der Innodb-Protokollgröße zu umgehen, müssen Sie die Innodb-Protokolle für die Ubuntu-Partition verschieben. In my.cnf
fügt , innodb_log_group_home_dir = /var/log/mysql
so dass die Protokolle an das MySQL - Fehlerprotokoll als nächstes gehen.