【问题标题】:MySQL my.cnf file - Found option without preceding groupMySQL my.cnf 文件 - 找到没有前面组的选项
【发布时间】:2011-11-05 12:56:26
【问题描述】:

我正在尝试远程连接到我在 Ubuntu 中的数据库,但在尝试mysql -u root -p 时收到错误消息:

在配置文件中找到没有前面组的选项:/etc/mysql/my.cnf at line: 1

my.cnf 看起来像:

[mysqld]
user        = mysql
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
bind-address        =  0.0.0.0
key_buffer      = 16M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size       = 8
myisam-recover         = BACKUP
query_cache_limit   = 1M
query_cache_size        = 16M
log_error                = /var/log/mysql/error.log
expire_logs_days    = 10
max_binlog_size         = 100M

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqldump]
quick
quote-names
max_allowed_packet  = 16M

[mysql]

[isamchk]
key_buffer      = 16M

【问题讨论】:

  • 这看起来与在 Ubuntu 上随 mysql 一起安装的默认 my.cnf 非常不同。您是否尝试过从默认文件开始逐步添加您的自定义设置?
  • 我刚刚删除了 cmets 并在代码中移动了
  • 我认为默认文件看起来有点不同。
  • 这种设置版本是特定的吗?我在 Ubuntu 16 和 mysql 5.7 或类似的东西上遇到了同样的问题......从 apt 全新安装。

标签: mysql my.cnf


【解决方案1】:

缺少配置标头

只需在/etc/mysql/my.cnf 文件的第一行添加[mysqld]

示例

[mysqld]
default-time-zone = "+08:00"

之后,记得重启你的 MySQL 服务。

sudo mysqld stop
sudo mysqld start

【讨论】:

  • 他的my.cnf已经有[mysqld]...你的回答对那些没有那行的人很有用。
【解决方案2】:

字符集编码

检查文件的字符集编码。确保它是 ASCII 格式。

例如使用od命令查看开头是否有UTF-8 BOM。

【讨论】:

  • 补充说明:缺少 [mysqld] 也会导致错误。
  • 由于某种原因,我的 my.cnf 开头缺少 [mysqld]。在那里添加它解决了这个问题,mysql现在按预期运行。
  • 这是我在 Windows 上使用 MySQL 工作台编辑文件后的问题。我通过在写字板中打开它并将其保存为“纯文本文档”来解决它
【解决方案3】:

这是因为 [mysqld] 前面的字母或数字只是检查 leeters 或数字 [mysqld] 之前不需要任何东西

可能是这样的

0[mysqld] 那么就会出现这个错误

【讨论】:

  • 是的,配置文件中有一个随机的 + 字符。谢谢!
  • 对我来说,它最终成为文件开头的注释,在开始注释过程之前没有#!
【解决方案4】:

什么对我有用:

  • 用 Notepad++ 打开 my.ini
  • 编码 --> 转换为 ANSI
  • 保存

【讨论】:

    【解决方案5】:

    我在使用社区安装程序安装 MySQL 8.0.15 时遇到了这个问题。安装程序附带的 my.ini 文件在编辑后无法正常工作。我通过下载该 zip 文件夹进行了完整的手动安装。我能够创建自己的 my.ini 文件,其中只包含我关心的参数并且它有效。

    1. 从 MySQL 网站下载 zip 文件
    2. 解压文件夹到C:\program files\MySQL\MySQL8.0
    3. 在您将 zip 文件夹解压到的 MySQL8.0 文件夹中,创建一个文本文件并将其保存为 my.ini
    4. 在您关心的 my.ini 文件中包含参数。所以像这样(只要确保已经为 datadir 创建了一个文件夹,否则初始化将不起作用):

      [mysqld]
      basedire=C:\program files\MySQL\MySQL8.0
      datadir=D:\MySQL\Data
      ....continue with whatever parameters you want to include
      
    5. 通过在命令提示符下运行这两个命令来初始化数据目录:

      cd C:\program files\MySQL\MySQL8.0\bin
      mysqld --default-file=C:\program files\MySQL\MySQL8.0\my.ini --initialize
      
    6. 通过运行以下两个命令将 MySQL 服务器安装为服务:

      cd C:\program files\MySQL\MySQL8.0\bin
      mysqld --install --default-file=C:\program files\MySQL\MySQL8.0\my.ini
      
    7. 最后,通过运行这两个命令来首次启动服务器:

      cd C:\program files\MySQL\MySQL8.0\bin
      mysqld --console
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-24
      • 2015-09-29
      • 2015-08-18
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 2016-11-24
      • 1970-01-01
      相关资源
      最近更新 更多