通过 apt-get 安装 mysql,使用非默认数据和日志目录

通过 apt-get 安装 mysql,使用非默认数据和日志目录

有没有办法通过 apt-get 安装 mysqld 并为其数据文件提供非默认路径?

我知道我可以使用默认设置安装它,然后移动东西(我已经这样做了)但是我有大约十几个不同的地方需要更新东西(my.cnf 中的 4-5 个,app-armor 中的 6-8 个,我想还有一些我忘记的东西)。


编辑:我假设/希望相关配置文件都是在安装时生成的,而不是硬编码为静态内容。假设如此,我需要的是一种让 apt-get 传递标志来调整用于指定相关路径的变量的方法。

答案1

如果您想让它们以专门为您安装的特殊路径安装,则必须制作自己的 mysql 包。使用符号链接或绑定挂载将您想要移动的任何内容移动到您想要去的地方会更容易。

否则,您的选择是正确的,即从源代码构建自定义包,而选择非常错误的方式,即用破解现有包ar、更改所有路径和配置文件,然后将其重新组合在一起。

答案2

您提到的一切都很恰当,并没有提到任何特定的分布。

我刚刚对 Debian Lenny mysql-server deb 源上的 preinst/postinst 脚本进行了快速检查。这些文件夹是作为包含的管理脚本和默认配置文件的一部分进行硬编码的。Debian Lenny 上没有神奇的工具,我怀疑其他人会在安装完成之前重定向数据/日志文件夹。我查看的 Mysql 包版本中没有使用 Debconf,但此工具通常用于设置其他包的首选项。

所以简而言之,您可能需要在安装后修复一些东西。如果您获取软件包源代码并查看其中的脚本,/var/lib/dpkg/info/mysql*您应该会清楚知道到底需要更改什么。

答案3

根据您的分布,您是否可以覆盖文件中的 mysql 设置/etc/mysql/conf.d/...

相关内容