Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   MySQL настройка, помогите? (http://forum.oszone.net/showthread.php?t=30945)

Guest 15-01-2003 16:39 212216

Hi ALL!!!

Помогите настроить, стоит FreeBSD 4.7 Apache+PHP, MySQL выдаёт ошибку, может кто сталкивался?
"mysqladmin: File '/usr/local/share/mysql/charsets/?.conf' not found (Errcode: 2) mysqladmin: Character set '#14' is not a compiled character set and is not specified in the '/usr/local/share/mysql/charsets/Index' file"

Thanx

mar 15-01-2003 23:05 212217

Цитата:

может кто сталкивался?
не приходилось. А когда такое вылезает?
что-то с недоустановкой locale? или еще чего околошрифтового? (судя по charsets)

вот тут выложена статья "Установка Apache+PHP+Mysql под FreeBSD и тюнинг FreeBSD 4.7 (freebsd apache php mysql install tune optimization postgresql smp cpu)"





[s]Исправлено: mar, 23:33 15-01-2003[/s]

Oaxa 15-10-2004 22:26 212218

Фильтр - сильная вещь.
Имею немного другую конфигурацию и абсолютно такую же проблему, а именно:
Имеем: Windows 2000 + Apache 2.0.50 + MySQL 4.0.18 + PHP
MySQL установлен в d:\web\mysql\ (basedir = d:/web/mysql/)
С настройками по умолчанию всё работает изумительно, кроме, естественно, сортировки. После добавления в my.conf (aka my.ini) следующих строк:
character-sets-dir=d:/web/mysql/share/charsets
default-character-set=cp1251
начинаются все проблемы. В частности, на каждый запрос к базе MySQL из PHP в журнале Apache (error.log) появляется эта самая запись:
File 'c:\mysql\share\charsets\?.conf' not found (Errcode: 2)
Character set '#14' is not a compiled character set and is not specified in the 'c:\mysql\share\charsets\Index' file
И это при всем притом, что MySQL стоит на D:
Что самое неприятное, не знаю на кого грешить: Apache, MySQL или PHP?
Копирование всей папки charsets в 'c:\mysql\share\charsets\' решает проблему, но IMHO, это не совсем красивое решение.

На самом деле, не считая записи в error.log всё работает и сортируется правильно, поэтому можно было бы спросить у многоуважаемого All: Можно как-то еще решить эту проблему?

Guest 15-10-2004 22:42 212219

закоментировать 14 строку

Oaxa 15-10-2004 22:53 212220

14-ю строку чего?
Кстати, здесь FAQ по этой проблемке, но он почему-то не помог.

[s]Исправлено: Oaxa, 23:08 15-10-2004[/s]

Prisoner 17-10-2004 03:27 212221

Может быть поможет чтение readme из директории charsets, что в share? Или установка опции character-sets-dir на верную директорию с чарсетами в my.ini?

Oaxa 17-10-2004 03:47 212222

Красиво говоришь, Prisoner.
readme был прочитан чуть ли не в самую первую очередь. Там всё как-то больше по синтаксису .conf-файлов.
character-sets-dir установлен - правильнее некуда.
Проблема как раз в том, что MySQL цепляет нужные .conf (ибо сортировка и поиск начинают работать правильно), но при этом генерит вышеуказанную ошибку.
Если character-sets-dir и default-character-set не устанавливать - сортировка работает некорректно.

Prisoner 17-10-2004 04:02 212223

Йеп... сорри, не заметил кусочек твоего поста. У меня при схожих установках без оной проблемы и я тоже не знаю на кого грешить :). Давай поглядим на my.ini твой?

Oaxa 17-10-2004 04:35 212224

Сервис MySQL установлен следующей строкой:
mysqld-nt --install MySQL --defaults-file="d:\web\mysql\conf\my.conf"

Код:

[client]
port=3306
character-sets-dir=d:/web/mysql/share/charsets
default-character-set=cp1251

[mysqld]
port=3306
key_buffer_size=256k
set-variable    = max_allowed_packet=1M
thread_stack=128k
table_cache=16
sort_buffer_size=256k
set-variable    = net_buffer_length=2K
server-id   = 1

basedir = d:/web/mysql/
datadir = d:/web/mysql/data/
tmpdir  = d:/web/temp/

query_cache_limit=1M
query_cache_size=8

safe-user-create
skip-show-database
skip-innodb

log-warnings
log=d:/web/apache/logs/mysql_query.log
log-bin=d:/web/apache/logs/mysql_binary.log
log-error=d:/web/apache/logs/mysql_error.log
log-slow-queries=d:/web/apache/logs/mysql_slowq.log
log-update=d:/web/apache/logs/mysql_update.log
log-isam=d:/web/apache/logs/mysql_isam.log
max_binlog_size=16M
long_query_time=2
slow_launch_time=2

bind-address=127.0.0.1
character-sets-dir=d:/web/mysql/share/charsets
default-character-set=cp1251

[mysqldump]
quick
set-variable    = max_allowed_packet=16M

[mysql]
no-auto-rehash
default-character-set=cp1251

[isamchk]
set-variable    = key_buffer=8M
set-variable    = sort_buffer=8M

[myisamchk]
set-variable    = key_buffer=8M
set-variable    = sort_buffer=8M

[mysqlhotcopy]
interactive-timeout

Так удобнее.

[s]Исправлено: Prisoner, 5:16 17-10-2004[/s]

Prisoner 17-10-2004 05:35 212225

Оки... на данном этапе могу сказать, что конфиги у нас почти копии, остальное, чем смогу помочь, чуть позже - спать охота, протишь? :)

Prisoner 18-10-2004 03:16 212226

Oaxa
А как реализован PHP? Модуль или отдельное приложение? Потому как поковырявшись, выяснил, что когда пытаюсь выполнить тот же index.php любого сайта над которым работал (для верности нужно сказать, что не любого, а лишь одного, остальные так не глючат) с помощью CLI, то лицезрею как раз вышеописанную проблему. А вот если смотреть в броузере - ноль, чистота и порядок. Кстати, у тебя в логи mysqld кроме mysql_query.log что-нибудь падает? Вообще. У меня они чистые...

Oaxa 18-10-2004 03:31 212227

Prisoner
PHP - модуль под апач. Кстати, сегодня обновил до 5.0.2 - не помогло. Но ты тут меня навёл на мысль... я напрягаю свою память и вспоминаю, что когда у меня был установлено только тот PHP, который модулем с апачем шел - таких проблем не возникало. И только после того, как я еще (исключительно для разработки и тестирования) установил его .exe-вариант, у меня эти глюки и начались. Сейчас начинаю ковыряния по этому поводу. Удалю всё, кроме extensions. О результатах сообщу дополнительно.

В mysql_error.log падает совсем чуть-чуть: типа "ready for connections" и "Shutdown Complete".
В mysql_update.log - прилично так падает.
В остальные - по мелочам, ничего значительного.


[s]Исправлено: Oaxa, 3:32 18-10-2004[/s]


[s]Исправлено: Oaxa, 3:33 18-10-2004[/s]

Добавлено:

Никаких изменений. Ошибка продолжает падать в в логи.
Обнаружил две интересные вещи:
1.  Во время установки PHP 5.0.2 пришлось ручками обновить \mysql\bin\libmysql.dll новой, той, что пришла вместе с новым PHP.
После чего в логах наблюдается незначительное, но весьма любопытное изменение, а именно:
File 'c:\mysql\share\charsets\?.conf' not found (Errcode: 2) - до замены libmysql.dll
File 'c:\mysql\\share\charsets\?.conf' not found (Errcode: 2) - после замены. Отсюда осмелюсь сделать предположение, что в природе существует такая libmysql.dll, использование которой не приведет к ошибкам в логах.
2. Не совсем в тему, но очень любопытно: почему php5ts.dll без встроенной поддержки MySQL почти втрое больше php4ts.dll с поддержкой MySQL?

Цитата:

когда у меня был установлено только тот PHP, который модулем с апачем шел - таких проблем не возникало.
Напряг память и вспомнил: я тогда PHP и не использовал, я тогда только на Perl и писал.

mar 18-10-2004 10:56 212228

Oaxa
посмотрите в руководстве полемику после статьи 4.6.7 Проблемы с наборами символов
Похоже - это общая проблема, вернее баг  каких-то win-релизов. Народ решает ее либо, заведя соответствующий каталог там, где просят, либо прохачивая dll в hex-редакторе и меняя там путь на свой.

[s]Исправлено: mar, 10:58 18-10-2004[/s]

Oaxa 18-10-2004 13:02 212229

Спасибо, mar.
Теперь всё встало на свои места. Теперъ чотя бы всё понятно, что проблема не в моих кривых руках. Кстати, прежде чем обращаться сюда, я естественно перерыл dev.mysql.com в поисках ответа на свой вопрос.  И теперь я понимаю, почему я не смог его найти. Оказывается, русский и английский MySQL Manual - это две большие разницы. Я наивно полагал, что русский вариант MySQL Manual - это частично переведенный ангийский вариант. Оказалось, что это еще и сильно урезанный.
Всегда скептически относился к русификации программ. Теперь еще и к русификации сайтов.:)
На самом деле существует еще один способ решения этой проблемы, и он, признаться, всё чаще приходит мне на ум - поставить Oracle - но это уже совсем другая песня.
Prisoner, отдельное спасибо за поддержку. И еще вопросик напоследок. У тебя случайно не русский Windows стоит? Не в этом ли отличие наших конфигураций? У меня W2K EN + SP4.

mar 18-10-2004 13:21 212230

Oaxa
Цитата:

поставить Oracle
- это, конечно, сильно =) Вопрос в том, что дальше делать собираетесь - оракл можно использовать для личных нужд, а для коммерческого использования (то есть для заказчиков) он стоит денег и весьма немалых. Проще уж на *nix перейти :), или на худой конец denevr использовать - с ним таких проблем не было


Prisoner 19-10-2004 05:54 212231

Oaxa
Нет, даже в этом вопросе они схожи: W2k Pro EN SP4 :). А за спасибо - спасибо :).
mar
Вчера в полдень ходил по дому и думал тебя в тему пригласить, а оно вон как получилось... само... в смысле сама. Или лучше Сама :).


mar 19-10-2004 10:31 212232

Prisoner
мне самой интересно стало - что это за грабли тихонько стоят в углу и периодически под ноги людям лезут :)



Время: 06:21.

Время: 06:21.
© OSzone.net 2001-