SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 19.02.2011 16:58:38

acelero
Участник
Зарегистрирован: 17.08.2010
Сообщений: 10

Настройка сервера + правильные кодировки

Добрый день, помогите пожалуйста настроить правильно сервер. Хоть убей не могу настроить

http://skrinshot.ru/files/74424852650070198962314309227404_preview.jpg
http://skrinshot.ru/files/85633250760562551185328420695733_preview.jpg

my.ini

[client]
port=8306
[PleskSQLServer]
port=8306
basedir=D:\\Program Files\\Parallels\\Plesk\\MySQL
datadir=D:\\Program Files\\Parallels\\Plesk\\MySQL\\Data
default-character-set=cp1251
default-storage-engine=INNODB
query_cache_size=8M
table_cache=32
tmp_table_size=7M
thread_cache=32
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=2M
key_buffer_size=2M
read_buffer_size=1M
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=16M
innodb_log_file_size=10M
innodb_thread_concurrency=8
max_connections=300
key_buffer=4M
max_allowed_packet=1M
sort_buffer=256K
net_buffer_length=4K
old_passwords=1
tmpdir=D:\\Program Files\\Parallels\\Plesk\\admin\\db


второй my.ini
# CLIENT SECTION

[client]

port=3306

[mysql]

default-character-set=cp1251

[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306


#Path to installation directory. All paths are usually resolved relative to this.
basedir="D:/Program Files/Parallels/Plesk/Databases/MySQL/"

#Path to the database root
datadir="D:/Program Files/Parallels/Plesk/Databases/MySQL/Data/"
default-character-set=cp1251

default-storage-engine=INNODB

# Set the SQL mode to strict
sql-mode=
max_connections=100
query_cache_size=0

# section [mysqld_safe]
table_cache=256
tmp_table_size=18M
thread_cache_size=8

#*** MyISAM Specific options
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=35M
key_buffer_size=25M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K


#*** INNODB Specific options ***
#skip-innodb
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=47M
innodb_log_file_size=10M
innodb_thread_concurrency=8
#Start without grant tables. This gives all users FULL ACCESS to all tables!
#skip-grant-tables
#Start without grant tables. This gives all users FULL ACCESS to all tables!
#skip-grant-tables
#Start without grant tables. This gives all users FULL ACCESS to all tables!
#skip-grant-tables


При анализе сайтов, пишет не верный ответ от сервера, я так понимаю это как раз строка character_set_results     utf8
Что нужно сделать что бы все базы работали как нужно и новые добавленные были с правильной кодировкой?! Спасибо. С Ув. Павел

Отредактированно acelero (19.02.2011 17:06:57)

Неактивен

 

#2 20.02.2011 15:37:50

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Настройка сервера + правильные кодировки

В секции [mysqld]
замените
default-character-set=cp1251
на
default-character-set=utf8

Неактивен

 

#3 21.02.2011 20:00:08

acelero
Участник
Зарегистрирован: 17.08.2010
Сообщений: 10

Re: Настройка сервера + правильные кодировки

Вы наверное меня не правильно поняли, мои существующие базы уже в cp1251 вот и сервер я хотел перевести на эту кодировку, что бы не было проблем с новыми, созданными базами.
Когда я изменил секцию [mysqld]
default-character-set=utf8

у меня стала вот такая кодировка:
character_set_client     utf8
character_set_connection     cp1251
character_set_database     utf8
character_set_filesystem     binary
character_set_results     utf8
character_set_server     utf8
character_set_system     utf8
character_sets_dir     D:\Program Files\Parallels\Plesk\Databases\MySQL\s...


Я же наоборот хотел сделать ее в cp1251, или не нужно? Будет и так работать? Я просто хочу что бы не было ошибок и обезопасить себя от ошибок и конвертаций баз, к примеру при последующим переходом на другой сервер. Либо вообще раскидаю сайты на разные хостинги. Все яйца нельзя держать в одной корзине smile 

Может вы не увидели скрин в начале, но ситуация вот такая:

character_set_client     utf8
character_set_connection     cp1251
character_set_database     cp1251
character_set_filesystem     binary
character_set_results     utf8
character_set_server     cp1251
character_set_system     utf8
character_sets_dir     D:\Program Files\Parallels\Plesk\Databases\MySQL\s...

В cp1251 как перевести? и стоит ли если это делать? проблем с кодировкой явно выраженных нету, только при анализе сайта на cy-pr видна строка неверный ответ от сервера.

Неактивен

 

#4 21.02.2011 20:40:51

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Настройка сервера + правильные кодировки

Вы можете получать данные с сервера  в любой кодировке, надо об этом только сервер попросить.
Просьба (обычно идёт сразу после соединения клиента с сервером): set names 'cp1251', если Вы хотите получать данные в cp1251.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 21.02.2011 20:59:12

acelero
Участник
Зарегистрирован: 17.08.2010
Сообщений: 10

Re: Настройка сервера + правильные кодировки

Хорошо, а главное информативно, спасибо Вам.
Скажите, могу я Вас попросить, написать мне, что именно нужно сделать и где прописать что бы не было проблем?! Если бы я знал какие команды дать и правильный синтаксис, уж поверьте, не писал бы, тем более в топике для новичков.

Неактивен

 

#6 21.02.2011 22:13:34

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Настройка сервера + правильные кодировки

Идея очень простая — сервер сам умный и всё знает о кодировках. Ему можно
сказать, что Вы хотите получать данные в 1251. Для этого клиент может выпол-
нить команду SET NAMES cp1251. После этого сервер этому клиенту будет посы-
лать данные в этой кодировке (и выполнять автоматически преобразование,
если на самом сервере данные хранятся в другой кодировке). Так понятнее? smile

Неактивен

 

#7 21.02.2011 22:29:56

acelero
Участник
Зарегистрирован: 17.08.2010
Сообщений: 10

Re: Настройка сервера + правильные кодировки

Так понятнее конечно, как раз для школьника типа меня. Если я Вас правильно понял, то в секции [mysqld] нужно прописать set names 'cp1251'?

Неактивен

 

#8 21.02.2011 22:38:55

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Настройка сервера + правильные кодировки

Не совсем так. Клиент после подключения должен выполнить запрос SET NAMES cp1251;
В php это выглядит так:

mysql_connect(....)

а затем сразу
mysql_query("SET NAMES cp1251");


Для ленивых есть опция, которую можно прописать в секцию [mysqld] конфигурационного файла:
default_character_set=cp1251
skip-character-set-client-handshake

но в таком случае cp1251 будет навязана всем клиентам.

Неактивен

 

#9 16.03.2011 02:24:18

acelero
Участник
Зарегистрирован: 17.08.2010
Сообщений: 10

Re: Настройка сервера + правильные кодировки

Доброго! лег на серваке HDD, мне переустановили систему. Теперь после этого вместо русского знаки ????

кодировка сайта cp1251

SHOW GLOBAL VARIABLES LIKE 'char%';

character_set_client     cp1251
character_set_connection     cp1251
character_set_database     cp1251
character_set_filesystem     binary
character_set_results     cp1251
character_set_server     cp1251
character_set_system     utf8
character_sets_dir     C:\Program Files (x86)\Parallels\Plesk\Databases\M...

настройки
[MySQLD]
port=3306
basedir=C:\\Program Files (x86)\\Parallels\\Plesk\\Databases\\MySQL
datadir=D:\\Program Files (x86)\\Parallels\\Plesk\\Databases\\MySQL\\Data
init-connect="SET NAMES cp1251"
default_character_set=cp1251

[client]
port=3306
default-character-set=cp1251


что не так? Да и я открыл базу akelpad'ом и там эти ?????? тоже... она криво восстановилась с бекапа? или можно поправить?

Отредактированно acelero (16.03.2011 02:39:38)

Неактивен

 

#10 17.03.2011 01:04:30

70r1n0k
Участник
Зарегистрирован: 17.03.2011
Сообщений: 3

Re: Настройка сервера + правильные кодировки

mysql> SHOW GLOBAL VARIABLES LIKE 'char%';
+--------------------------+--------------------------------------------------+
| Variable_name            | Value                                            |
+--------------------------+--------------------------------------------------+
| character_set_client     | latin1                                           |
| character_set_connection | latin1                                           |
| character_set_database   | latin1                                           |
| character_set_filesystem | binary                                           |
| character_set_results    | latin1                                           |
| character_set_server     | latin1                                           |
| character_set_system     | utf8                                             |
| character_sets_dir       | /Applications/MAMP/Library/share/mysql/charsets/ |
+--------------------------+--------------------------------------------------+
8 rows in set (0,00 sec)

Подскажите, где поменять эти значения "латин1" - как до них добраться?

Неактивен

 

#11 17.03.2011 01:09:19

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Настройка сервера + правильные кодировки

FAQ#8 — это клиентская настройка, а не серверная. Серверную стоит
выставить в utf8 после того, как настроите клиента — параметр
default-character-set = utf8 в my.cnf.

Неактивен

 

#12 17.03.2011 02:06:25

70r1n0k
Участник
Зарегистрирован: 17.03.2011
Сообщений: 3

Re: Настройка сервера + правильные кодировки

советы из faq не помогли...
my.cnf - не нашел такой (

Неактивен

 

#13 17.03.2011 02:17:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Настройка сервера + правильные кодировки

А я отвечал не Вам, а acelero, Вы же в его потоке написали свой независимый
вопрос tongue

Но, как ни странно, мой ответ на Ваш вопрос тоже подходит — ищите my.cnf
и исправляйте. Под Windows этот файл называется my.ini, но у Вас, судя по
пути, какая-нибудь MacOS, да? smile

Неактивен

 

#14 17.03.2011 08:52:52

70r1n0k
Участник
Зарегистрирован: 17.03.2011
Сообщений: 3

Re: Настройка сервера + правильные кодировки

Да, мас... поискал my.ini... нету такого )

Неактивен

 

#15 17.03.2011 21:33:15

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Настройка сервера + правильные кодировки

find / -name my.cnf — долго, но должен найти.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson