1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

MySQL5.7.38初始化参数datadir引发的相关问题

MySQL5.7.38初始化参数datadir引发的相关问题

本文将介绍MySQL5.7.38初始化参数datadir引发的相关问题。在数据库初始化时,datadir用于指定数据文件存放位置,log_error用于指定错误日志名及其存放位置。在初始化测试中,我们发现datadir=/data时会自动创建/data文件夹,但是log_error=/data/error.log会提示文件无法打开,因为logs文件夹不存在。因此,我们需要提前创建好日志文件夹。在日常生产环境中,将日志与数据分开文件夹保存,有利于日常运维管理。

MySQL5.7.38初始化参数datadir引发的相关问题

遇到的特殊情况

我们曾遇到将日志存放在数据目录下的文件夹中的情况。在示例测试中,我们设定了datadir=/data,log_error=/data/logs/error.log。在上一次测试结果中我们知道了日志存放位置需要存在,否则初始化将失败。因此,我们先创建了/data/logs/目录,但是初始化失败,因为数据目录需要为空。根据官方文档,只有在MySQL5.7.11或者更高版本中,如果每个条目的名称都以句点(.)开头或使用–ignore-db-dir选项命名,则允许现有数据目录为非空。因此,我们将/data/logs改为以(.)开头的隐藏文件,同时修改datadir地址为/logs,发现初始化成功,并且在/logs目录下生成了错误日志。但是,由于–ignore-db-dir选项已被弃用,这种方法也不再适用。我们经过验证,可以在初始化成功之后修改配置文件日志文件位置,将初始化后的/logs/error.log移动到/data目录下,并启动MySQL服务,最后测试配置文件中日志所在位置与实际位置相符就不会报错,可以在新建数据库时采用此方法来修改日志文件位置。

综上所述,MySQL初始化时数据目录下只能放以(.)开头的隐藏文件,存放日志文件的目录必须存在。本文章作者为“IT那活儿”公众号小编小本本。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6556.html