my.cnf在macOS High Sierra上的何处?

时间:2019-05-06 20:59:33

标签: mysql macos

我想在MySql服务器严格模式下禁用某些选项,但是由于某些原因,我什至无法找到其配置文件(my.cnf)

当前安装的MySql: 适用于macos10.12(x86_64)的Ver 14.14 Distrib 5.7.20

生成的输出
function onOpen() {
  SpreadsheetApp.getUi().createMenu('My Tools')
  .addItem('Read Data from Active Sheet', 'readDataFromSheet')
  .addToUi();
}


function readDataFromSheet() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var html="<style>td,th{border:1px solid black;}</style><table>";
  for(var i=0;i<vA.length;i++) {
    html+='<tr>';
    for(var j=0;j<vA[i].length;j++) {
      if(i==0) {
        html+=Utilities.formatString('<th>%s</td>',vA[i][j]);
      }else{
        html+=Utilities.formatString('<td>%s</td>',vA[i][j]);
        Logger.log('vA[%s][%s]=%s>',i,j,vA[i][j]);
      }
    }
    html+='</tr>';
  }
  html+='</table>';
  var userInterface=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Reading Data From A Spreadsheet')
}

从以下文件中以给定顺序读取默认选项:

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • /usr/local/mysql/etc/my.cnf
  • 〜/ .my.cnf

但是没有my.conf这样的文件

我已经对SO进行了一些研究工作,但是没有任何建议对我有用。

我该怎么办?

4 个答案:

答案 0 :(得分:1)

您可以尝试:

$ locate mysql | grep my.cnf

它应该显示位置(如果存在)。

答案 1 :(得分:1)

MySQL中内置有默认值。配置文件 (如果有)覆盖默认设置。

请注意,除非在启动过程中,否则不会查看配置文件。因此,在重新启动mysqld之前,编辑或创建这样的文件无效。

如果您弄乱了语法,则mysqld将不会启动。然后,您需要在启动过程中或在日志文件中查找错误。 (或者您可以在这里问“我的语法错误是什么”。)

关于将要使用的配置文件的位置和名称:

$ mysql --help

为您提供了mysql的列表,但也许您需要服务器使用它,所以请尝试

$ mysqld --help --verbose

给您长输出;可能离顶部50行,您应该会看到类似以下内容的

Usage: mysqld [OPTIONS]

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 

您询问了my.conf;是错字吗?

无论如何,如果缺少这些文件,则可以创建它们,使它们可由mysql读取,然后将其放入[mysqld]之前,以便服务器可以看到它们。

个人优先

无论默认和/或配置文件中有什么内容,都可以添加到给定的最后一个文件中。在上面的示例中,您的主目录中的“隐藏” .my.cnf。您所需要做的就是创建几行:

[mysql]
some_setting = somevalue
[client]
some_setting = somevalue

这对“ mysql”命令行工具和/或其他客户端(也许)有所帮助。

但是,如果您需要对服务器mysqld进行更改,则它必须位于其他文件之一中。再次,最小值是类似

[mysqld]
some_setting = somevalue

请注意mysqld是指服务器。并记住重新启动服务。

另一个注意事项:如果看到(在现有配置文件中)!includedir ...,请转到该目录以查找任意数量的其他文件。您可以使用上述两行(或更多行)添加您自己的文件,例如说z.cnf(以便最后选择)。

答案 2 :(得分:0)

如果您已使用mysql网站上的软件包安装程序安装了Mysql 8或更高版本,请按照我的操作

  1. 在主目录vim ~/.my.cnf中创建配置文件
  2. 要在Mac中打开System preferences

enter image description here

  1. 然后选择在选项上创建的配置文件。 enter image description here

答案 3 :(得分:-1)

this网站上的内容说。

我急需在开发人员机器(运行Mac OS Sierra的MacBook Pro)上的MySQL 5.7中配置一些特定内容。不幸的是,我没有找到可以在任何地方进行自定义的my.cnf文件?

Internet研究表明,默认情况下,Mac OS上的MySQL数据库服务器在没有my.cnf配置文件的情况下运行,只需使用默认值即可启动。

幸运的是,通过像这样创建和编辑自定义my.cnf文件来自定义MySQL Server安装非常简单:

sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf Then edit / customize the /etc/my.cnf文件,然后重新启动MySQL Server。

或者您可以参考此answer