Answers:
是的,它可以工作,但有一些怪癖。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
将“ datadir”路径更改/etc/mysql/my.cnf
为指向/var/lib/mysql/mysql_data
启动mysql服务器并进行测试。
编辑Windows配置文件(my.ini
)并将'datadir'设置为X:/mysql_data
(替换X:
在Windows下的安装位置)。
我可以使用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的日志大小检查,您需要移动ubuntu分区的innodb日志。在中my.cnf
,添加,innodb_log_group_home_dir = /var/log/mysql
以便日志转至mysql错误日志旁边。