Не удается изменить параметры сортировки сервера MySQL / MariaDB


1

Я пытаюсь изменить параметр collation_serverпеременной сервера по умолчанию с latin1_swedish_ci на utf8_general_ci , добавляя его в /etc/my.cnf.d/mariadb-server.cnfфайл конфигурации в другой группе при каждой попытке, но он просто не будет работать. Когда я пытаюсь перезапустить демон, он всегда терпит неудачу, если я не закомментирую его или не уберу строку Как я могу изменить эту переменную, чтобы она также сохранялась при перезапуске?

Я читал, как это сделать, на официальных справочных страницах на http://dev.mysql.com/doc/refman/5.6/en/server-options.html#option_mysqld_collation-server и http://dev.mysql.com. /doc/refman/5.6/en/option-files.html но они мне не помогли.

Спасибо.


Вход в оболочке Linux и выполните следующее: mysqld --help --verbose 2>/dev/null | grep my | grep cnf | head -1. Какой вывод ???
RolandoMySQLDBA

Выход есть /etc/my.cnf ~/.my.cnfно я побежал mysqlвместо mysqld.
arielnmz

Пожалуйста, бегите, mysqld --help --verbose 2>/dev/null | grep my | grep cnf | head -1как я впервые упомянул. Какой выход ??? (Я указал mysqld, потому что вы сказали, что пытаетесь изменить сервер collation_server).
RolandoMySQLDBA

Использование mysqld вместо mysql: ничего. Потому что mysqld это не команда.
arielnmz

Да, это определенно команда. ( dev.mysql.com/doc/refman/5.6/en/mysqld.html ) mysqld - это процесс сервера. Это команда, которую вы можете запустить в командной строке, чтобы увидеть опции. mysqld не допустит двух демонов сервера на одни и те же данные. Как только это mysqld --help --verbose
произойдет

Ответы:


1

Мне удалось наконец решить это. Просматривая журналы, я обнаружил ошибку, в которой говорилось, что, 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'и, немного погуглив, решение было в этом посте в блоге с цитатой:

В этом случае mysqld пытается начать с символов set-server = latin1 и collation-server = utf8_general_ci, что недопустимо.

Таким образом, решение состоит в том, чтобы установить либо допустимое сопоставление latin1, либо изменить набор символов сервера, что я и сделал:

character-set-server = utf8
collation-server = utf8_general_ci

В моем файле cnf ( /etc/my.cnf.d/mariadb-server.cnf ) под [server]блоком. Спасибо.


Спасибо за ваши комментарии. Надеюсь, это поможет кому-то еще.
arielnmz
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.