[Others] 在deepin20.4和win7都装了mysql8能共用data数据目录吗
Tofloor
poster avatar
摩尔龙大客户张哥戴红领巾
deepin
2022-01-26 00:28
Author

我是linux小白,刚从win7过来,我已经在笔记本里面有两块硬盘,一块装了win7也装了mysql8和navicat premium,另外一块硬盘装了deepin20.4,我打算也装上mysql8和navicat premium,我想两个操作系统的mysql8共用一个data数据目录,这样我就不用烦数据迁移和同步的事了,请问这想法能实现吗?请大神指教。

Reply Favorite View the author
All Replies
zerowzsun
deepin
2022-01-26 01:11
#1

虽然看起来是理论可行的,但及时可行,操作难度一定很高啊......

从你的实际情况来看,我觉得windows+wsl2是你的理想搭配.

在wsl2里安装一个宝塔,windows 是可以直接访问的。

我在我小笔记本里格了windows,全新安装deepin, 然后安装docker里安装宝塔,实际使用了一个多星期,完全可以胜任PHP开发工作,毫无问题。

Reply View the author
zerowzsun
deepin
2022-01-26 01:29
#2

如果你有一台开发服务器就更好了,局域网的也可以,在这个服务器上搭建mysql,客户端远程连接.这都是更方便的途径yeah

Reply View the author
deepin-superuser
deepin
2022-01-26 02:15
#3

先找一个windows和Linux都能识别的分区,然后window 和 Linux里安装docker docker中安装mysql8, 启动mysql8时都把数据目录映射到那个分区,这样的话应该就可以了

Reply View the author
摩尔龙大客户张哥戴红领巾
deepin
2022-01-26 02:30
#4
deepin-superuser

先找一个windows和Linux都能识别的分区,然后window 和 Linux里安装docker docker中安装mysql8, 启动mysql8时都把数据目录映射到那个分区,这样的话应该就可以了

请问这个方法是不是要win7和deepin20要同时登录启动的?

Reply View the author
摩尔龙大客户张哥戴红领巾
deepin
2022-01-26 02:30
#5
zerowzsun

虽然看起来是理论可行的,但及时可行,操作难度一定很高啊......

从你的实际情况来看,我觉得windows+wsl2是你的理想搭配.

在wsl2里安装一个宝塔,windows 是可以直接访问的。

我在我小笔记本里格了windows,全新安装deepin, 然后安装docker里安装宝塔,实际使用了一个多星期,完全可以胜任PHP开发工作,毫无问题。

谢谢大神给我的好思路

Reply View the author
deepin-superuser
deepin
2022-01-26 02:33
#6
摩尔龙大客户张哥戴红领巾

请问这个方法是不是要win7和deepin20要同时登录启动的?

不用,但是一定确保windows和Linux都能正常访问那个分区

Reply View the author
摩尔龙大客户张哥戴红领巾
deepin
2022-01-26 02:37
#7
deepin-superuser

不用,但是一定确保windows和Linux都能正常访问那个分区

好呢,我先研究和尝试一下,谢谢

Reply View the author
bluesky_
deepin
2022-01-26 03:15
#8

把数据放在NTFS格式的硬盘上,linux和deepin都能正常访问。正如楼上说的,用docker把数据库数据目录映射到NTFS分区,就可以实现两个系统上实现数据互通。

Reply View the author
bluesky_
deepin
2022-01-26 03:20
#9

可以参考一下这个

docker run --name mysql -e MYSQL_ROOT_PASSWORD=pass1234 -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -p 3306:3306 -d mysql:5.7

这个就是把数据放在/home/mysql目录下,把这个路径改成win系统的NTFS分区保存

Reply View the author
enforcee
deepin
2022-01-26 07:19
#10

不要把任何系统目录放在NTFS分区,之前已经有坛友测试是不可行的,原因是Linux和Windows的文件系统在处理链接和文件权限的模式不一样 。只共用单个应用的数据目录应该是没问题

Reply View the author
摩尔龙大客户张哥戴红领巾
deepin
2022-01-26 07:36
#11
bluesky_

可以参考一下这个

docker run --name mysql -e MYSQL_ROOT_PASSWORD=pass1234 -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -p 3306:3306 -d mysql:5.7

这个就是把数据放在/home/mysql目录下,把这个路径改成win系统的NTFS分区保存

谢谢,我不懂docker,得先搜索和学习一下。

Reply View the author
摩尔龙大客户张哥戴红领巾
deepin
2022-01-26 07:36
#12
enforcee

不要把任何系统目录放在NTFS分区,之前已经有坛友测试是不可行的,原因是Linux和Windows的文件系统在处理链接和文件权限的模式不一样 。只共用单个应用的数据目录应该是没问题

好的,谢谢提醒

Reply View the author
orzorc
deepin
2022-01-27 01:45
#13
摩尔龙大客户张哥戴红领巾

谢谢大神给我的好思路

https://bbs.deepin.org/post/229084

如果用了wsl设置可以把wsl的磁盘挂载到deepinjoy

Reply View the author
red13
deepin
2022-01-28 08:32
#14

经过实测,可以把 databases 放到非系统盘的路径下,供deepin与win共享,有几个小细节需要注意一下.NTFS的挂载盘,其文件夹都是root权限的所以,,将有deepin系统下的 mysql 数据文件夹搬到NTFS下时,需要如下步骤

1:systemctl stop mysql

2:my.cnf

datadir=XXXX/XXXX/XXX (数据库文件夹路径)

user=root(强制使用root身份运行)

3:mysql.service 修改用户与组,强制使用root

user=root

Group=root

4:systemctl start mysql 启动服务,并验证数据库是否能够连接上

5:回到win系统,net stop mysql

6:修改my.inf 的 datadir="X:\xxxx\xxxx"

7:net start mysql

8:连接数据库验证是否数据相同

Reply View the author