Я хочу изменить переменную сервера mysql character_set_server
на utf8. Я гуглил об этом, но не могу найти информацию, которую ищу, или инструкции не совпадают. Кажется, мне нужно отредактировать файл с именем my.cnf, но этот файл не существует в моей системе. Версия 5.1.36.
Изменить переменную сервера character_set_server
comment
Просто примечание для будущих посетителей здесь: ОП принял ответ, который просто неверен (см. комментарии к нему, чтобы понять, почему). Вместо этого смотрите ответ с наибольшим количеством голосов. (Это не мой ответ, и я лично не заинтересован в этом вопросе, это просто социальная реклама).
- person Ben Lee   schedule 15.11.2013
Ответы (3)
Запустите этот запрос:
set global character_set_server = utf8;
затем перезапустите mysql. вы можете увидеть список всех ваших переменных с помощью простого
show variables;
person
Nicola Cossu
schedule
09.08.2011
Это неправильно. Если вы запустите запрос и перезапустите MySQL, у вас будет точно такой же character_set_server, как и до того, как вы отправили запрос, который может быть или не быть utf8. Перезапуск mysql перезагружает конфигурацию с диска.
- person Cosimo; 29.03.2012
Похоже, вы не знаете основ MySQL. Поэтому, пожалуйста, хотя бы ПРОВЕРЬТЕ свой ответ, прежде чем публиковать его.
- person Federico Razzoli; 07.01.2016
для OP @grai, пожалуйста, удалите этот ответ как выбранный, потому что он ошибочный.
- person serge; 09.10.2018
это первый результат из гугла
http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_character-set-server
есть два способа установить эту конфигурацию
- через файл конфигурации (сервер набора символов), требуется перезагрузка
- или через
set global/session
character_set_server, это не требует перезагрузки, НО если ваша база данных перезагрузится, она исчезнет, тогда вам нужно будет установить это снова
person
ajreal
schedule
09.08.2011
спасибо за ваш ответ, но я не понимаю, почему отрицательный голос, этот документ не совсем ясен для неопытного человека, поэтому я решил задать вопрос здесь.
- person grai; 09.08.2011
но это первое из результатов Google :( вместо этого вы должны спросить об ошибке сервера здесь
- person ajreal; 09.08.2011
Вы конечно правы, но суть в том, что эта опция динамическая, но эту информацию должен задавать только сервер. Вы не должны устанавливать значение этой переменной вручную. dev.mysql.com/doc/refman/5.6/ ru/server-system-variables.html
- person Federico Razzoli; 07.01.2016
@FedericoRazzoli - я предоставляю оба способа и объясняю последствия использования ручной настройки
- person ajreal; 07.01.2016
Расположение файлов my.ini и my.cnf:
http://dev.mysql.com/doc/refman/5.0/en/option-files.html
Что касается вопроса о том, следует ли вам использовать файлы my.ini или my.cnf, в приведенной выше документации говорится, что
Системы Windows используют как my.ini, так и my.cnf,
Системы Linux, Unix, Mac OS X используют my.cnf.
person
Paul Gobée
schedule
16.06.2013
что означает, что Windows использует оба? у них есть приоритет, или он принимает случайное значение от одного из них?
- person serge; 09.10.2018
Давным-давно. Не могу вспомнить. Глядя на связанный ресурс — см. таблицу 4.1 — там написано %WINDIR%\my.ini, %WINDIR%\my.cnf C:\my.ini, C:\my.cnf . Я интерпретирую это как одно или другое.
- person Paul Gobée; 10.10.2018
если они оба, в первом (cnf) значение равно A, во втором (ini) — B, что мы должны ожидать от использования?
- person serge; 11.10.2018