mysql - Linux:MySQL:如何在 Linux 中使用安装在 NTFS 上的 mysql 数据库作为 mysql 数据库?

标签 mysql database linux ntfs mount

我想在我的 linux mysql 中使用 D:\xampp\mysql\data 中的数据库而不移动它。所以我可以在 linux 和 windows 上处理它们

这是我做的:

# mount -t ntfs -o uid=mysql,gid=mysql,dmask=002,fmask=113 /dev/sda5 /media/public/
# cd /var/lib/mysql
# ln /media/public/xampp/mysql/data/my_db -s
# chown -R mysql:mysql /var/lib/mysql/my_db

但是mysql无法读取数据库表

use my_db
show tables

报错:mysql无法读取目录'./my_db'

这似乎是一个权限问题。我该怎么办?

PS:只有一台机器有两个操作系统,Windows和Linux。 当我在 Windows 或 Linux 中时,我想使用与 datadir 相同的目录。

附言:我试过ntfs-3g。现在 mound 分区及其所有内容所有权是 mysql:mysql。/var/lib/mysql/my_db 也是 mysql:mysql。但我仍然在 show tables

上遇到以下错误

错误 1018 (HY000):无法读取 './my_db/' 的目录(错误号:13)

最佳答案

首先,绝不允许多个 MySQL 实例同时使用数据文件。这是灾难的根源。

其次,为什么两台机器都需要MySQL的服务器?为什么不直接使用 linux 机器上的客户端通过网络连接到 windows 机器上的服务器?

第三,如果您真的必须这样做,我建议启用master-master replication它们之间。所以每台服务器都有自己的存储空间,并且会自动来回传送更改。

编辑

啊哈,等等...你是双引导吗?如果是这样,您需要确保 mysql 用户可以读取整个 /var/lib/mysql 目录。仅对 my_db 文件夹进行 chmod 是不够的。

哦,你是如何将挂载点链接到 MySQL 的数据目录的(这不在你的命令列表中)......

关于mysql - Linux:MySQL:如何在 Linux 中使用安装在 NTFS 上的 mysql 数据库作为 mysql 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3524203/

相关文章:

mysql - 使用代理键时插入表

php - move_uploaded_file 到文件夹不起作用

database - 存储中间表单数据

mysql - 如何检索两个日期之间的报告数字

php - 调用未定义函数 mysqli_connect() 问题

linux - USB : gadget : device mode : configfs: uvc and mass storage on single configuration?

mysql - 需要有关求和时间的 MySQL 语句语法的帮助

php - 推进 ORM : PDOException "Can' t create more than max_prepared_stmt_count statements"

java - 强制 JVM 在没有页面缓存的情况下执行所有 IO(例如 O_DIRECT)

c++ - 移植到windows时程序崩溃