我已经看到许多关于如何在一台服务器上运行多个 sql 服务器的问题,但我想将 mysqld 作为用户级进程运行并完全包含在一个文件夹中(我在用户文件夹之外没有任何权限)。
我花了一些时间使用--defaults-file = my.cnf,但它似乎仍然与正在运行的系统级mysql服务器冲突。
有人知道怎么做这个吗?
答案1
所以你想 chroot MySQL - 我很想说没问题,但事实并非如此。它是一头喜怒无常的野兽,它不喜欢被关在 chroot 中 :P
Chroot 指令在不同操作系统甚至发行版之间会有所不同,但如下所示:
https://blackdown.de/articles/chrooting-recent-mysql-versions-on-debian-and-ubuntu/
http://www.symantec.com/connect/articles/securing-mysql-step-step
如果你需要更多,只需搜索 mysql chroot + 你的发行版名称
答案2
你应该看看http://mysqlsandbox.net/。我用它在笔记本电脑上运行各种沙盒实例来测试不同版本的 mysql。它似乎只从我的主目录运行正常,但我还没有测试过在同一台机器上运行带有另一个 mysqld 实例的沙盒。应该可以正常运行,因为它分配了一个非标准端口,但你应该小心。