Spec-Zone .ru
спецификации, руководства, описания, API
|
Следующие ограничения применяются к использованию MySQL на платформе Windows:
Память процесса
На Windows 32-разрядные платформы не возможно по умолчанию использовать больше чем 2 Гбайт RAM в пределах единственного процесса, включая MySQL. Это - то, потому что предел физического адреса на 32-разрядном Windows составляет 4 Гбайт, и настройка по умолчанию в пределах Windows должна разделить виртуальное адресное пространство между ядром (2 Гбайт) и пользователем/приложениями (2 Гбайт).
У некоторых версий Windows есть время начальной загрузки, устанавливая, чтобы включить большим приложениям, уменьшая приложение ядра. Альтернативно, чтобы использовать больше чем 2 Гбайт, используйте 64-разрядную версию Windows.
Псевдонимы файловой системы
При использовании MyISAM
таблицы, невозможно использовать псевдонимы в
пределах ссылки Windows к файлам данных на другом объеме и затем соединиться назад с основным MySQL
datadir
расположение.
Это средство часто используется, чтобы переместить файлы данных и индексные файлы к RAID или другому
быстрому решению, сохраняя основное .frm
файлы в каталоге данных
значения по умолчанию, сконфигурированном с datadir
опция.
Ограниченное количество портов
У систем Windows есть приблизительно 4 000 портов, доступных для клиентских соединений, и после того, как соединение на порту закрывается, оно берет за две - четыре минуты до того, как порт может быть снова использован. В ситуациях, где клиенты соединяются с и разъединение от сервера на высоком показателе, для всех доступных портов возможно быть израсходованным прежде, чем закрытые порты станут доступными снова. Если это происходит, сервер MySQL, кажется, безразличен даже при том, что он работает. Отметьте, что порты могут использоваться другими приложениями, работающими на машине также, когда число портов, доступных MySQL, ниже.
Для получения дополнительной информации об этой проблеме, см.
DATA DIRECTORY
и INDEX DIRECTORY
DATA DIRECTORY
опция для CREATE TABLE
поддерживается на Windows только для InnoDB
таблицы, как описано в Разделе
5.4.1.2, "Определение Расположения Табличной области". Для MyISAM
и другие механизмы хранения, DATA DIRECTORY
и INDEX
DIRECTORY
опции для CREATE
TABLE
игнорируются на Windows и любых других платформах с атрофированным realpath()
вызвать.
Невозможно отбросить базу данных, которая используется другим сеансом.
Нечувствительные к регистру имена
Имена файлов не являются чувствительными к регистру на Windows, таким образом, имена базы данных MySQL и имена таблиц являются также не чувствительными к регистру на Windows. Единственное ограничение - то, что имена базы данных и имена таблиц должны быть определены, используя тот же самый случай всюду по данному оператору. См. Раздел 9.2.2, "Чувствительность к регистру Идентификатора".
Имена каталогов и имена файлов
На Windows MySQL Server поддерживает только каталог и имена файлов, которые являются совместимыми с текущими кодовыми страницами ANSI. Например, следующее японское имя каталога не будет работать в Западной локали (кодовая страница 1252):
datadir="C:/私たちのプロジェクトのデータ"
То же самое ограничение применяется к именам каталогов и именам файлов, упомянутым в SQL-операторах,
таких как путь файла данных в LOAD
DATA INFILE
.
"\
"символ разделителя пути
Компоненты пути в Windows разделяются"\
"символ, который является также символом ESC в MySQL.
Если Вы используете LOAD DATA
INFILE
или SELECT
... INTO OUTFILE
, используйте имена файлов Стиля Unix с"/
"символы:
mysql>LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE skr;
mysql>SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
Альтернативно, следует удвоиться"\
"символ:
mysql>LOAD DATA INFILE 'C:\\tmp\\skr.txt' INTO TABLE skr;
mysql>SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM skr;
Проблемы с каналами
Каналы не работают достоверно от приглашения командной строки Windows. Если канал включает символ
^Z
/ CHAR(24)
, Windows думает, что
встретился с концом файла и прерывает программу.
Это - главным образом, проблема, когда Вы пытаетесь применить двоичный журнал следующим образом:
C:\> mysqlbinlog binary_log_file
| mysql --user=root
Если Вы имеете проблему, применяя журнал и подозреваете, что это из-за a ^Z
/ CHAR(24)
символ, можно использовать
следующее обходное решение:
C:\>mysqlbinlog
C:\>binary_log_file
--result-file=/tmp/bin.sqlmysql --user=root --execute "source /tmp/bin.sql"
Последняя команда также может использоваться, чтобы достоверно читать в любом файле SQL, который может содержать двоичных данных.