80

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

在配置文件中找到没有前面组的选项:/etc/mysql/my.cnf 在第 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
4

5 回答 5

117

缺少配置标头

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

例子

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

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

sudo mysqld stop
sudo mysqld start
于 2017-04-17T12:02:56.217 回答
58

字符集编码

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

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

于 2011-11-05T13:01:36.463 回答
13

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

可能是这样的

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

于 2012-10-21T14:25:18.883 回答
9

什么对我有用:

  • 用 Notepad++ 打开 my.ini
  • 编码 --> 转换为 ANSI
  • 节省
于 2020-01-13T18:32:41.960 回答
0

当我使用社区安装程序安装 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
    
于 2019-04-12T21:08:20.040 回答