кто решил проблему с кодировкой базы при резервном копировании на ispserver ?

12
L
На сайте с 03.07.2006
Offline
35
2444

есть рабочая база, данные в ней читаемы на русском языке, читаемы как на сайте так и в phpMyAdmin. Потом делаю резервную копию с помощью панели ispmanager кнопкой "создать копию".

потом делаю восстановление резервной копии с помощью панели ispmanager кнопкой "восстановить".

воостановление происходит.

после этого данные из базы не читаемы, как на сайте так и при просмотре базы с помощью phpMyAdmin.

-------------------------------------------------------------------

При создании сервера базы данных установлена кодировка cp1251,

при создании пользовательской базы установлена кодировка cp1251,

в конфигурационном файле /etc/my.cnf

стоят директивы

Под разделом [client]

default-character-set=cp1251

Под разделом [mysqld]

character-set-server=cp1251

collation-server=cp1251_general_ci

init-connect = "set names cp1251"

-------------------------------------------------------------------

видимо так как Панель ispmanager делает дамп в utf8 , то эту проблему никак не обойти,

если из /etc/my.cnf убрать init-connect = "set names cp1251" то проблема тоже не решается

как можно обойти проблему, не хочется делать ежедневно дамп базы вручную

zzeus
На сайте с 04.01.2008
Offline
74
#1
leshii:
есть рабочая база, данные в ней читаемы на русском языке, читаемы как на сайте так и в phpMyAdmin. Потом делаю резервную копию с помощью панели ispmanager кнопкой "создать копию".

потом делаю восстановление резервной копии с помощью панели ispmanager кнопкой "восстановить".

воостановление происходит.

после этого данные из базы не читаемы, как на сайте так и при просмотре базы с помощью phpMyAdmin.
-------------------------------------------------------------------

При создании сервера базы данных установлена кодировка cp1251,
при создании пользовательской базы установлена кодировка cp1251,

в конфигурационном файле /etc/my.cnf
стоят директивы

Под разделом [client]
default-character-set=cp1251

Под разделом [mysqld]
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect = "set names cp1251"

-------------------------------------------------------------------

видимо так как Панель ispmanager делает дамп в utf8 , то эту проблему никак не обойти,
если из /etc/my.cnf убрать init-connect = "set names cp1251" то проблема тоже не решается


как можно обойти проблему, не хочется делать ежедневно дамп базы вручную

mysqldump в крон

М
На сайте с 23.12.2008
Offline
1
#2

попробуйте в my.cnf в разделе [mysqldump] прописать

default-character-set=cp1251

а ещё было бы неплохо получить вывод запроса SHOW VARIABLES

ISPServer
На сайте с 17.10.2008
Offline
6
#3

Панель делает просто mysqldump при этом не указывает кодировку. То есть с ситемными настройками.

Маленькие VDS за 149 рублей (http://firstvds.ru?art) Полный спектр решений для хостинга. (http://ispsystem.com?art)
L
На сайте с 03.07.2006
Offline
35
#4
Мальчик:
попробуйте в my.cnf в разделе [mysqldump] прописать
default-character-set=cp1251
а ещё было бы неплохо получить вывод запроса SHOW VARIABLES

вот что показывает show variables

character_set_client utf8

character_set_connection cp1251

character_set_database cp1251

character_set_results utf8

character_set_server cp1251

character_set_system utf8

character_sets_dir /usr/local/share/mysql/charsets/

collation_connection cp1251_general_ci

collation_database cp1251_general_ci

collation_server cp1251_general_ci

М
На сайте с 23.12.2008
Offline
1
#5

В конфиге при прописывании такого вот и перезапуска mysql

[mysql]

default-character-set=cp1251

У Вас, возможно, под [mysqld]

должно получиться вот так:

character_set_client    cp1251

character_set_results cp1251

Попробовали прописать в конфиг

[mysqldump]

default-character-set=cp1251

перезапустить mysql и сделать дамп?

L
На сайте с 03.07.2006
Offline
35
#6
Мальчик:
В конфиге при прописывании такого вот и перезапуска mysql
[mysql]
default-character-set=cp1251
У Вас, возможно, под [mysqld]
должно получиться вот так:
character_set_client    cp1251

character_set_results cp1251

в этот раздел конфига ([mysqld]) прописывал, mysql не запускается, пока не знаю в какой раздел конфига прописать эти переменные

Мальчик:

Попробовали прописать в конфиг
[mysqldump]

default-character-set=cp1251

перезапустить mysql и сделать дамп?

эта переменная в этом разделе стоит, не помогает

надо попытаться те переменные которые установлены в utf8 с помощью my.cnf установить в cp1251, пока не получается, не знаю в каких разделах конфига их прописывать, и можно ли вообще изменить их с помощью конфига

RAS
На сайте с 27.11.2005
Offline
126
RAS
#7

дамп в utf8 точно или это только цитирую "видимо ... utf8" ?

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
L
На сайте с 03.07.2006
Offline
35
#8
RAS:
дамп в utf8 точно или это только цитирую "видимо ... utf8" ?

не знаю в какой кодировке делается дамп при этих переменных сервера, не знаю в какой кодировке он и развернется :)

М
На сайте с 23.12.2008
Offline
1
#9

Определить в какой кодировке дамп - просто: открываете его тектовым редактором, поддерживающим несколько кодировок и выбиыраете кодировку в которой данные в дампе будут нормально показываться.

А так - в какой кодировке данные выводятся в дамп, ссылку на конфиг mysql и версию mysql

L
На сайте с 03.07.2006
Offline
35
#10

версия mysql 4.1.22

leshii добавил 24.12.2008 в 20:56

перепробовал кучу вариантов конфига, я не могу изменить эти переменные,

они не меняются даже от sql-запроса типа "set character_set_results=cp1251;" как от root'a так и от пользователя

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий