MySQL my.cnf file - найденная опция без предшествующей группы - PullRequest
55 голосов
/ 05 ноября 2011

Я пытаюсь подключиться к своей БД в 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 ]

64 голосов
/ 17 апреля 2017

Отсутствует заголовок конфигурации

Просто добавьте [mysqld] в качестве первой строки в файле /etc/mysql/my.cnf.

Пример

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

После этого не забудьте перезапустить службу MySQL.

sudo mysqld stop
sudo mysqld start
35 голосов
/ 05 ноября 2011

Кодировка кодировки

Проверьте кодировку кодировки файла.Убедитесь, что он находится в ASCII.

Используйте команду od, чтобы узнать, есть ли в начале спецификация UTF-8, например.

13 голосов
/ 21 октября 2012

это из-за букв или цифр перед [mysqld], просто проверьте буквы или цифры, ничего не требуется перед [mysqld]

это может быть что-то вроде

0 [mysqld], тогда эта ошибка произойдет

0 голосов
/ 13 апреля 2019

У меня была эта проблема, когда я установил MySQL 8.0.15 с установщиком сообщества. Файл my.ini, поставляемый с установщиком, не работал правильно после его редактирования. Я сделал полную ручную установку, загрузив эту папку zip. Я смог создать свой собственный файл my.ini, содержащий только те параметры, которые меня беспокоили, и это сработало.

  1. скачать zip-файл с сайта MySQL
  2. распаковать папку в C: \ program files \ MySQL \ MySQL8.0
  3. в папке MySQL8.0, в которую вы распаковали zip-папку, создайте текстовый файл и сохраните его как my.ini
  4. включает параметры в этот файл my.ini, который вас интересует. так что-то вроде этого (просто убедитесь, что для каталога данных уже создана папка, иначе инициализация не будет работать):

    [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
    
...