我将一个5.7 MySQL数据库从源代码编译到一个自定义目录中,并使用mysqld --initialize初始化数据库。
只要主系统上没有安装MySQL,或者当我使用mv /etc/mysql/my.cnf /etc/mysql/my.cnf_backup处理系统范围的文件时,这就可以正常工作,但是当然,这是一个糟糕的解决方法,破坏了系统范围的mysql安装。
如果存在/etc/mysql/my.cnf,则初始化明显失败,因为路径都是错误的。
mysqld --initialize似乎总是更喜欢/etc/mysql/my.cnf,并且忽略了在命令行中使用--defaults-file指定的任何文件。不过,它确实使用了命令行上指定的单个参数(因此,如果我将完整的my.cnf文件转换为命令行参数,它可能会工作,但这同样不是一个好的解决方案,还会产生其他问题)
当然,我从源代码构建到自定义目录的全部原因是,我希望它独立于安装在主系统上的任何东西。
有没有办法让mysqld --initialize忽略/etc/mysql/my.cnf?
发布于 2018-04-11 08:41:39
手册提到,如果要使用--defaults-file选项,必须首先指定它。
否则,该选项将被忽略。
https://dba.stackexchange.com/questions/203578
复制相似问题