2.6.2.6 Компиляция MySQL-клиентов в среде Windows | Оглавление | 2.6.3 Примечания к Solaris |
На настоящий момент версия MySQL под Windows зарекомендовала себя как весьма устойчивая. Возможности этой версии и версии под Unix аналогичны, за исключением следующих моментов:
mysqld
на продолжительное
время, если ваш сервер обрабатывает много соединений! Другие версии
Windows не подвержены этой ошибке.
SELECT
и INSERT
в MySQL используются
функции pread()
и pwrite()
. В настоящее время для эмуляции
pread()
/pwrite()
мы применяем mutex'ы. Однако в наши планы на будущее
входит замена интерфейса файлового уровня виртуальным интерфейсом, чтобы
иметь возможность использовать интерфейс readfile()
/writefile()
на
NT/2000/XP - с целью ускорения работы. В текущей реализации число
одновременно открытых в MySQL файлов не может быть больше 1024; это
означает, что вы не сможете создать такое же количество одновременных
соединений с MySQL в NT/2000/XP, как в Unix.
mysqladmin kill
не работает для ``спящих'' соединений
mysqladmin shutdown
не может отработать до тех пор, пока существуют
``спящие'' соединения.
shutdown
; это можно сделать с помощью
mysqladmin shutdown
.
LOAD DATA
INFILE
или SELECT ... INTO OUTFILE
, символ `\' необходимо вводить дважды:
mysql> LOAD DATA INFILE "C:\\tmp\\skr.txt" INTO TABLE skr; mysql> SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM skr;В качестве альтернативы можно использовать имена файлов Unix-стиля:
mysql> LOAD DATA INFILE "C:/tmp/skr.txt" INTO TABLE skr; mysql> SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
can't open named pipe
(невозможно открыть именованный канал)
mysql
можно получить следующее сообщение об ошибке:
error 2017: can't open named pipe to host: . pipe...Это происходит из-за того, что в данной версии MySQL на NT именованные каналы применяются по умолчанию. Чтобы избежать таких ошибок, следует использовать с новым клиентом MySQL флаг
--host=localhost
или создать файл
флагов `C:\my.cnf', содержащий следующие строки:
[client] host = localhostНачиная с версии 3.23.50 именованные каналы используются только в случае, если
mysqld
запущен с флагом --enable-named-pipe
.
access denied for user
(доступ пользователю запрещен)
Access denied for user:
`some-user@unknown' to database `mysql'
при попытке доступа к
MySQL-серверу, находящемуся на той же машине, с которой происходит доступ,
это значит, что MySQL не может правильно определить адрес вашей машины.
Для решения данной проблемы следует создать файл `\windows\hosts',
содержащий:
127.0.0.1 localhost
ALTER TABLE
ALTER TABLE
доступ к таблице для других потоков
блокируется. Именно поэтому Windows не может удалить файл, который
используется другим потоком (возможно, в будущем мы найдем какой-нибудь
способ обойти эту проблему). Выполнение DROP TABLE
над таблицей, входящей
в состав сводной таблицы MERGE
, не будет работать в Windows, так как
отображение таблицы, которое выполняет обработчик MERGE
, скрыто от
верхнего уровня MySQL. Поскольку в Windows нельзя удалять открытые файлы,
вначале следует сбросить все MERGE
-таблицы (используя FLUSH TABLES
) или
удалить все MERGE
-таблицы перед удалением таблицы. Мы исправим эту ошибку
одновременно с введением оператора VIEW
. Операторы DATA DIRECTORY
и INDEX
DIRECTORY
в CREATE TABLE
в Windows игнорируются, поскольку Windows не
поддерживает символические ссылки.
Ниже приведены некоторые открытые вопросы для всех, кто захочет помочь нам в работе над выпусками под Windows:
mysqld
в качестве сервиса с флагом --install
(на NT)
было бы неплохо иметь возможность добавлять флаги по умолчанию к командной
строке. Сейчас эта проблема решается путем записи списка параметров в файл
`C:\my.cnf'.
mysqld
из диспетчера задач. Сейчас для
этого нужно применять mysqladmin shutdown
.
readline
в Windows для использования с
инструментальной программой, запускаемой из командной строки mysql
.
mysql
, mysqlshow
, mysqladmin
и
mysqldump
) будет очень полезна.
mysqladmin kill
в Windows.
mysqld
всегда стартует в местоположении "C", а не в местоположении,
установленном по умолчанию. С благодарностью будет принято исправление,
позволяющее использование программой mysqld
текущего значения
местоположения для порядка сортировки.
README
,
который находится в поставке MySQL-Windows.
2.6.2.6 Компиляция MySQL-клиентов в среде Windows | Оглавление | 2.6.3 Примечания к Solaris |