2. Команды пакета MySQL.
СУБД MySQL поставляется со следующими основными программами и скриптами:
· mysql
· mysqlaccess
· mysqladmin
· mysqld
· mysqldump
· mysqlshow
· isamchk
· isamlog
· safe_mysqld
Еще есть несколько утилит. Они не жизненно важны для MySQL, но обеспечивают полезные дополнительные функциональные возможности.
· comp_err
· msql2mysql
· mysqlbug
· perror
· replace
· which1
· zap
2.1. Основные команды mysqlКлиентская программа MySQL.
Запуск:
mysql [OPTIONS] database
ОПИСАНИЕ:
Клиентская часть СУБД MySQL названа MySQL. Она обеспечивает интерфейс командной строки с СУБД MySQL, и возможность неинтерактивной пакетной обработки.
Программой mysql поддерживаются следующие опции. Можно использовать или "короткий" одиночный символ или более подробную версию.
-\?, --help | Справка. |
-d, --debug=[options] | Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-d, --debug-info | Вывести отладочную информацию при выходе из программы. |
-e, --exec | Выполнить команду и выйти, неявная форма опции --batch. |
-f, --force | Продолжить, даже если есть SQL ошибка. |
-h, --hostname=[hostname] | Задает имя сервера, с которым необходимо соединиться. |
-P, --port=[port] | Порт, для соединения с сервером MySQL. |
-p, --password=[password] | Пароль пользователя, для соединения с сервером MySQL. Не должно быть пробела между -p и паролем. |
-q, --quick | Быстрый (небуферизованный вывод), может замедлить сервер, если вывод приостановлен. |
-s, --silent | Работать молча (подавить вывод). |
-u, --user=[user] | Имя пользователя для соединения с сервером MySQL. Необязательно, если имя пользователя такое же, как логин. По умолчанию логин используется в качестве имени пользователя. |
-v, --verbose | Подробный вывод. -v опция может быть удвоена или утроена для более подробного вывода. |
-w, --wait | Если подключение терпит неудачу, то подождать и повторить попытку. |
-B, --batch | Выполнить в пакетном режиме. Никаких запросов и никаких ошибок в STDOUT. Устанавливается автоматически при чтении из/записи в канал. Результаты будут выведены в формате с разделением табуляцией. Одна строка результата соответствует одной строке вывода. |
-I, --help | Справка, эквивалент -\?. |
-V, --version | Вывести информацию о версии пакета. |
Проверка прав доступа пользователя.
СИНТАКСИС:
mysqlaccess [host] [user] [db] OPTIONS
ОПИСАНИЕ:
Скрипт mysqlaccess используется, чтобы внести в список привилегии пользователя для конкретной базы данных. Это дает информацию, которая может быть полезна при диагностировании проблем с доступом пользователей к данной базе данных.
Скрипт mysqlaccess поддерживает следующие параметры (можно использовать "короткий" одиночный символ или более подробную версию):
-?, --help | Справка. |
-v, --version | Информация о версии |
-u, --user=... | Имя пользователя для доступа к базе данных. |
-p, --password=... | Пароль пользователя, для соединения с сервером MySQL. |
-h, --host=... | Имя сервера, используется для проверки прав доступа. |
-d, --db=... | Имя базы данных, используется для проверки прав доступа. |
-U, --superuser=... | Логин администратора. |
-P, --spassword=... | Пароль администратора. |
-b, --brief | Вывести краткие сведения о таблице. |
--relnotes | Вывести заметки по реализации. |
--plan | Вывести идеи для будущих реализаций. |
--howto | Вывести примеры использования `mysqlaccess' |
--debug=N | Уровень отладки N (0..3) |
Необходимо указать по крайней мере имя пользователя и имя базы данных, которые нужно проверить. Если имя сервера не задано, то подразумевается имя 'localhost'.
mysqladminВыполняет административные функции.
СИНТАКСИС:
mysqladmin [OPTIONS] command command...
ОПИСАНИЕ:
Программа mysqladmin используется, для управления различными аспектами функционирования СУБД MySQL. Допустимы следующие опции (можно использовать "короткий" одиночный символ или более подробную версию):
-\?, --help | Справка. |
-d, --debug=[options] | Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-f, --force | Не спрашивать подтверждения при пропуске таблицы. |
-h, --host=[hostname] | Имя сервера, если не localhost. |
-i, --sleep=[seconds] | Выполнить команды несколько раз с паузой в [секунд] между ними. |
-p, --password[password] | Пароль пользователя, для соединения с сервером MySQL. Обратите внимание, что не должно быть пробела между -p и паролем. |
-u, --user=[user] | Имя пользователя. Если не указано, используется текущий логин. |
-P, --port=[port] | Порт, для соединения с сервером MySQL. |
-V, --version | Вывести информацию о версии. |
Кроме этого программа mysqladmin поддерживает следующие команды:
create [имя базы данных] | Создать базу данных. |
drop [имя базы данных] | Удалить базу данных (вместе со всеми таблицами). |
processlist | Вывести сведения о работающих потоках MySQL. |
reload | Перечитать настройки и очистить все кэши. |
shutdown | Завершить работу СУБД MySQL. Все запущенные MySQL-сессии помечаются как 'killed'. Это означает, что все потоки, которые простаивают в настоящее время, будут закрыты немедленно, а управление потоками будет закрыто, когда они достигнут точек завершения, определенных сервером. Клиенты получат сообщение об ошибке 'mysql server has gone away'. |
status | Вывести короткое сообщение о статусе сервера. |
Серверная часть пакета MySQL (mysqld).
СИНТАКСИС:
mysqld [OPTIONS]
ОПИСАНИЕ:
Программа mysqld является ядром СУБД MySQL. Она запускается как демон в системе и принимает подключения из клиентских программ, выполняя запросы и возвращая результаты. Она многопоточная, то есть обработает больше чем один запрос одновременно.
Может наблюдаться спад производительности при использовании опции --log-isam, поскольку при этом очень многое пишется в файл протокола. Непериодические изменения, обновления и удаления могут уменьшить производительность на 5-10%. Производительность может сильно понизиться на обновлениях, требующих большого числа одновременных изменений.
Опция --log-isam может использоваться, для копирования базы данных. ISAM журналы могут стать ОЧЕНЬ большими.
Каждая операция UPDATE, DELETE и INSERT имеет заголовок в 13 байтов дополнительно к команде.
Каждая открытая таблица требует девять байтов плюс длина имени файла таблицы. Это необходимо только для таблиц, которые еще не в кэше таблиц.
Кроме того будут иметься одиннадцать байтов дополнительно для любых команд, которые кэшируют/блокируют таблицы. Эти события обычно вызваны внутренними командами mysql. Наиболее часто, когда используется SELECT.
В большинстве случаев нужно выполнять mysqld из скрипта safe_mysqld .
Программа mysqld поддерживает следующие опции командной строки:
-\?, --help | Справка |
-#, --debug=[options] | Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-b, --basedir=[path] | Полное имя каталога в который установлен пакет. |
-h, --datadir [homedir] | Полное имя каталога в котором хранятся базы данных. |
-l, --log=[filename] | Имя файла протокола запросов к базам данных и подключений. |
--log-isam=[filename] | Имя файла протокола изменений isam. |
-O, --set-variable var=option | Установить переменную. См. ниже. |
-L, --language=[language] | Значение по умолчанию 'english/'. Может быть так же 'swedish/', 'germany/','french/' или 'czech/'. Текущий список можно посмотреть в подкаталог share/mysql каталога, в который установлен MySQL. |
-P, --port=[port] | Порт для соединения. |
-T, --debug-info | Вывести отладочную информацию. |
--skip-new-routines | Не использовать новые возможности этой версии. |
--skip-grant-tables | Игнорировать таблицы предоставления доступа. Это дает любому ПОЛНЫЙ доступ ко всем таблицам. |
--skip-locking | Не использовать блокировку системы. Может дать лучшую эффективность, но не должен использоваться вместе с isamchk. ТО ЕСТЬ, сначала остановите сервер. |
--skip-name-resolve | Эта опция заставит mysqld принимать адреса IP только тех серверов, которые явно указаны в базе данных привилегий mysql. DNS можно более или менее просто хакнуть, а эта опция позволяет избежать ряда проблем, если прикладная программа требует высокого уровня защиты. |
--skip-networking | Использовать подключения только через интерфейс localhost. Эта опция не будет работать с MIT потоками. Если подключения к базе данных будут только локальные, то использование этой опции защитит от создания удаленных подключений. |
--skip-unsafe-select | Пропустить возможно опасные оптимизации. |
--socket=[socket] | Имя сокет-файла для MySQL. Недоступно при использовании версии MySQL, скомпилированной с MIT потоками. ПРИМЕР: |
-V, --version | Вывести информацию о версии. |
Если опция -h не определена, mysql будет считать, что основной каталог = "/my/data/sql/mysql".
Все базы данных размещены в каталоге [homedir]/[имя базы данных] .
Опция -l должна использоваться осторожно. Когда используется сервер, с большим объемом транзакций, этот файл может стать большим очень быстро. Если не определяется имя logfile, при использовании опции -l mysqld будет писать протокол в файл [homedir]/[hostname].log.
Опция -O позволяет определять значения для следующих параметров:
Имя | Значение по умолчанию |
back_log | 5 |
keybuffer | 1048568 |
max_allowed_packet | 65536 |
net_buffer_length | 8192 |
max_connections | 90 |
table_cache | 64 |
recordbuffer | 131072 |
sortbuffer | 2097144 |
max_sort_length | 1024 |
Дамп содержания базы данных.
СИНТАКСИС:
mysqldump [OPTIONS] [database [table [field]]]
ОПИСАНИЕ:
Программа mysqldump используется для создания дампа содержания базы данных MySQL. Она пишет инструкции SQL в стандартный вывод. Эти инструкции SQL могут быть переназначены в файл. Можно резервировать базу данных MySQL, используя mysqldump, но при этом Необходимо убедиться, что в этот момент с базой данных не выполняется никаких других действий.
Программа mysqldump поддерживает следующие параметры (можно использовать короткую или подробную версию):
-#, --debug=[options] | Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-?, --help | Справка. |
-c, --compleat-insert | Генерируйте полные инструкции insert (не исключая значений, которые соответствуют значениям столбца по умолчанию). |
-h, --host=[hostname] | Соединиться с сервером hostname. |
-d, --no-data | Экспорт только схемы информации (исключая данные). |
-t, --no-create-info | Экспорт только данных, исключая информацию для создания таблицы. Противоположность -d. |
-p, --password=[password] | Пароль пользователя, для соединения с сервером MySQL. Обратите внимание, что не должно быть пробела между -p и паролем. |
-q, --quick | Не буферизовать результаты запроса, дамп выдать непосредственно к STDOUT. |
-u, --user=[username] | Имя пользователя. Если не задано, используется текущий логин. |
-v, --verbose | Вывести подробную информацию относительно различных стадий выполнения mysqldump. |
-P, --port=[port] | Порт для связи. |
-V, --version | Информация о версии. |
Можно направить вывод mysqldump в клиентскую программу MySQL, чтобы копировать базу данных. Необходимо убедиться, что база данных не изменяется в это время, иначе получится противоречивая копию!
mysqlshowПоказать информацию о сервере, базе данных или таблице.
СИНТАКСИС:
mysqlshow [OPTIONS] [database [table [field]]]
ОПИСАНИЕ:
Программа mysqlshow может использоваться, чтобы показать, с какими базами данных MySQL работает, какие таблицы данная база данных содержит, и какие поля есть в таблице в данной базе данных.
Программа mysqlshow поддерживает следующие параметры:
-#, --debug=[options] | Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-?, --help | Справка. |
-h, --host=[hostname] | Связаться с сервером hostname. |
-k, --key | Вывести ключ(и) для таблиц(ы). |
-p, --password=[password] | Пароль пользователя, для соединения с сервером MySQL. |
-u, --user=[username] | Имя пользователя. Если не задано, используется текущий логин. |
-P, --port=[port] | Порт для связи. |
-V, --version | Информация о версии. |
Mysqlshow без аргументов покажет все базы данных. Mysqlshow с именем базы данных покажет все таблицы в ней. Mysqlshow с именем базы данных и именем таблицы покажет схему этой таблицы.
Если последний параметр содержит '?' или '*', то они используются как подстановочные знаки.
isamchkПроверка, восстановление, управление и сбор статистики по таблицам MySQL.
СИНТАКСИС:
isamchk [-?adeiqrsvwzIV] [-k #] [-O xxxx=size] [-Si] [-Sr #]
[-O keybuffer=#] [-O readbuffer=#] [-O writebuffer=#]
[-O sortbuffer=#] [-O sort_key_blocks=#] files
ОПИСАНИЕ:
Программа isamchk используется для проверки непротиворечивости таблиц и устранения любых проблем, которые это может вызвать. Isamchk может также использоваться, чтобы усилить таблицы в базах данных, которые содержат BLOB или поля символов переменной длины. Это необходимо только, если часто добавляются и удаляются записи из этих таблиц.
Необходимо остановить СУБД MySQL перед запуском isamchk с единственным переключателем -r.
Вообще, нужно использовать переключатель -rq для ремонта таблицы, потому что он выполняет "оперативный" ремонт. Для такого ремонта не нужно временного места в памяти, таким образом он проходит быстро, так как isamchk не копирует файл данных.
Перед началом работы, надо перейти в каталог с таблицей, которая нуждается в проверке и/или ремонте. В общем случае, это $DATADIR/DBNAME.
Опции программы isamchk:
-# | Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-? | Справка. |
-a | Анализ. Используется для для оптимизации размещения таблиц. |
-d | Информация о таблице. |
-e | Расширенная проверка. При запуске с этой опцией надо остановить демон mysqld. |
-f | Принудительно создать временный файл. Эта опция вызовет 'isamchk -r', если таблица разрушена. |
-k# | Используемые ключи. |
-i | Дополнительная информация. |
-q | Быстрая проверка. |
-r[o] | Восстановление, Эта опция также уплотнит внутренние индексы B-Tree, используемые MySQL. Используйте эту опцию, чтобы уменьшить место, занимаемое таблицей, за счет удаления неиспользуемых индексов. |
-s | Работать молча. |
-u | Распаковать упакованный файл. |
-v | Подробный вывод. Используется вместе с другими параметрами, чтобы получить большее количество информации. Можно задать большее количество символов v для повышения объема выдаваемой информации (например, vv). |
-w | Ждать, если таблица заблокирована. |
-I | Справка. |
-S[ir]# | Сортировать индекс/записи по ключу #. Эта опция оптимизирует размещение данных в таблице. |
-V | Информация о версии. |
-O var=# | Опция оптимизации var=#[k][m] |
Можно использовать вторую опцию '-q', чтобы использовать старый файл данных. -ro использует старый метод восстановления: медленнее, но надежнее -r. -r может исправить почти все ошибки, кроме уникальных ключей, которые оказались все же не уникальными. Если -f задан при проверке таблицы, то таблицы с ошибками будут автоматически исправлены.
ПРИМЕРЫ:
isamchk -r [table_name] | Убрать все дырки, которые сформировались из-за использования BLOBS или VARCHARS. Также установить какие еще есть проблемы. |
isamchk -ei [table_name] | Проверить таблицу и отобразить статистику. |
isamchk [table_name] | Найти большинство ошибок. |
isamchk -rq [table_name] | Обновить только индексный файл. Быстро, но не исправляет ошибки в файле данных. |
isamchk -d -v [table_name] | Описание таблицы. |
isamchk -rq -Si [table_name] | Полная оптимизация таблицы [table_name]. |
Получение статистики, и использование isam-журналов.
СИНТАКСИС:
isamlog [-?iruvIV] [-c #] [-f #] [-p #] [-F filepath/] [-o #]
[-R file recordpos] [-w write_file] [log-filename]
ОПИСАНИЕ:
Эта программа используется вместе с опцией --log-isam=file_name демона mysqld.
Файл file_name будет хранить протокол всех изменений для всех таблиц. Программа isamlog может быть использована для получения информации об этом файле и обновить все таблицы и базы данных.
Чтобы восстановить базу данных, нужна копия, которая содержит вашу базу данных до того, как mysqld сгенерировал ISAM журнал, или полный набор ISAM журналов с начала работы вашей базы данных.
-? or -I | Справка. |
-V | Информация о версии. |
-c # | Выполнить только # команд. |
-f # | Максимальное число открытых файлов. Если откроется больше чем # файлов, то лишние будут автоматически закрыты и вновь открыты по мере необходимости. |
-F [path] | Файл протокола ISAM содержит полный путь к таблицам. Можно использовать эту опцию, чтобы отменить сохраненный путь. ПРИМЕР: -F '/var/mirror/' заставит isamlog работать с файлами в /var/mirror, а не с теми, которые указаны в сохраненном пути. |
-i | Вывести более детальную информацию. |
-o # | Начать со смещения #. |
-p # | Удалить # компонент из пути. |
-r | Игнорировать все ошибки, с которыми сталкиваемся в течение модификаций. |
-R | Указать позицию в файле ISAM, о которой надо выдать сведения. ПРИМЕР: isamlog -R /usr/local/data/mysql/user.ISM 1234 Выведет все изменения в таблице /usr/local/data/mysql/user, которые найдены в позиции 1234. |
-u | Пытаться модифицировать все таблицы. Остановиться, если встречена ошибка. |
-v | Подробный вывод. Можно задать большее количество символов v для повышения объема выдаваемой информации (например, vv). |
-w [filename] | Записать все записи вставленные или измененные опцией -R в [filename]. Эта опция может использоваться, чтобы получить двоичный файл всех вставок и модификаций конкретной таблицы для использования в отладке. |
Скрипт для запуска демона mysqld.
СИНТАКСИС:
safe_mysqld [options to mysqld]
ОПИСАНИЕ:
Этот скрипт обычно выполняется при начальной загрузке, чтобы запустить mysqld. Если необходимо, чтобы DATADIR был помещен в иерархии каталога MySQL, что и mysqld, нужно подправить DATADIR в этом скрипте.
2.2. Дополнительные команды comp_errГенерирует файлы сообщений об ошибках на национальном языке.
СИНТАКСИС:
comp_err [-?] [-I] [-V] fromfile[s] tofile
ОПИСАНИЕ:
Эта программа используется для компиляции текстовых файлов которые содержат соответствие между кодами ошибок mysql и текстовыми сообщениями об этих ошибках в формат, который понимает mysql. Это нужно для изменения уже существующего файла сообщений или генерации такого файла для другого языка.
ПРИМЕР:
comp_err share/english/errmsg.txt share/english/errmsg.sys
msql2mysqlВыполняет начальное преобразование mSQL скрипта в MySQL.
СИНТАКСИС:
msql2mysql [filename]
ОПИСАНИЕ:
Скрипт msql2mysql используется как первый шаг при портировании msql скриптов в MySQL.
Программа msql2mysql - фактически довольно простой скрипт, который использует команду replace, которая поставляется с СУБД MySQL, чтобы заменить mSQL обращения к функции на их MySQL эквиваленты. Меняются только имена, дополнительные параметры не добавляются.
mysqlbugГенерирует отчет об ошибках.
СИНТАКСИС:
mysqlbug [address]
ОПИСАНИЕ:
Этот скрипт используется при сообщении об ошибках в MySQL. Он генерирует форму, которую для заполнения помещает в любой текстовый редактор, указанный в переменной $VISUAL (Vi по умолчанию). Форма будет содержать автоматически сгенерированную информацию относительно вашей системы, включая версии OS и MySQL и архитектуру. При окончании, форма будет отправлена по почте в список рассылки MySQL.
perrorВыводит короткое текстовое объяснение числового кода ошибки.
СИНТАКСИС:
$ perror [-?vIV] [errorcodes]
ОПИСАНИЕ:
Программа perror предоставляет короткие текстовые объяснения числовых кодов ошибок, возвращаемых системой или СУБД MySQL.
Программа perror поддерживает опции:
-? or -I | Справка. |
-v | Подробная информация. |
-V | Информация о версии. |
СИНТАКСИС:
replace [-?svIV] from to from to ... -- [files]
ОПИСАНИЕ:
Программа program используется скриптом msql2mysql. Replace может быть использована для замены строки на месте в файле или получать строку через канал (пайп), производить замену и выводить результат в STDOUT.
Допустимы следующие опции:
-? | Справка. |
-s | Работать молча (никаких статусных сообщений). |
-v | Подробная информация о ходе работы (выводить дополнительные сообщения). |
ПРИМЕРЫ:
replace Apple Orange somefile
Заменит все вхождения Apple на Orange в файле somefile.
cat INFILE | replace Apple Orange Blimp Train > OUTFILE
Все вхождения Apple в файле INFILE будут заменены на Orange и результат выведен в файл OUTFILE. В то же время, все вхождения Blimp в файле INFILE будут заменены на Train и тоже выведены в файл OUTFILE. Таким образом, можно заменять более чем одно выражение за один проход.
Можно использовать специальные символы во входных строках:
\^ | Соответствует началу строки. |
\$ | Соответствует концу строки. |
\b | Соответствует пробелу. Может появляться или отдельно, или в начале, или в конце лексемы. Если \b используется в конце лексемы, следующие замены начнутся после пробела. \b соответствует только пробелу. |
Replace простая и очень полезная утилита с большими потенциальными возможностями использования в MySQL.
which1Найти команду.
СИНТАКСИС:
which1 [cmd]
ОПИСАНИЕ:
Эта команда, вероятно, полезна только на системах, которые не имеют, команды which, встроенной в оболочку, или доступной как команда. Выводит только первую найденную команду.
zapПослать сигнал процессу, который соответствует образцу.
СИНТАКСИС:
zap [-signal] [-?Ift] pattern
ОПИСАНИЕ:
По умолчанию zap запросит подтверждение для каждого подходящего процесса.
Программа zap поддерживает опции:
-I or -? | Справка. |
-f | Послать сигнал без запроса подтверждения. |
-t | Вывести список процессов, соответствующих образцу, но не сигнал им не посылать. |
В качестве сигнала допускается любой сигнал системы unix. По умолчанию сигнал = 9 (завершить процесс).
3. Настройка mysqld (серверная часть пакета MySQL)При указании опции -O, отдельно (без дополнительных параметров) можно получить список всех переменных и их текущих значений. Это может выглядеть примерно так:
$ mysqld -O
Возможные переменные в опции -O:
Имя | Значение по умолчанию |
back_log | Определите размер очереди для входящих tcp/ip подключений.. Некоторые ОС могут иметь максимальное значение этой переменной 128 или 256. |
keybuffer | Размер кэш-буфера, для хранения всех недавно использованных ключей. Большой буфер дает самую лучшую эффективность. С переключателем -Sl распределен только один буфер. |
max_allowed_packet | Буфер подключений сервера может быть изменен до этого значения, если пользователь дает длинную команду. Начальный буфер = 'net_buffer_length'. На каждое подключение выделяется один буфер. |
net_buffer_length | Начальный размер буфера подключений. На каждое подключение выделяется один буфер. |
max_connections | Максимальное число подключений, которые mysqld может иметь открытыми в одно и то же время. |
table_cache | Максимальное число таблиц сохраняемых открытыми на сервере. Таблицы хранятся открытыми, для ускорения запроса к часто используемым таблицам. Однако, каждая открытая таблица требует много памяти. |
recordbuffer | Размер кэш-буфера для хранения прочитанных записей. На каждое подключение выделяется один буфер. |
sortbuffer | Размер буфера, используемого при сортировке. На каждое подключение выделяется один буфер. |
max_sort_length | Максимальное время для сортировки? |
· Все потоки совместно используют ту же самую основную память.
· MySQL в настоящее время не использует memmap. Это может изменяться.
· Можно определять размер буфера для ключей при старте mysqld. Буфер ключей будет кэшировать все ключи во всех таблицах В ПОРЯДКЕ ПОСТУПЛЕНИЯ запросов (переменная keybuffer)
· Каждое подключение использует некоторую часть потока, стек и буфер подключений (переменная net_buffer_length).
· Каждый запрос, делающий последовательный просмотр записей в таблице, распределяет буфер чтений (переменная recordbuffer).
· Каждый запрос, выполняющий сортировку, распределяет sortbuffer и один или два временных файла. Максимально необходимое дисковое пространство = (sort_key_length + sizeof(long))*2.
· Все объединения выполняются за один проход, и результат сохраняется во временной таблице в памяти. Выполнение полного объединения и сортировки на двух больших таблицах может потребовать очень большого объема памяти.
· Индексные файлы открываются один раз. Файлы данных открываются один раз для каждого параллельного потока. Каждый параллельный поток имеет полную таблицу struct и поле struct плюс память для трех полных строк столбцов. BLOB требует еще 5-8 байт.
· Если таблица имеет BLOB, буфер будет распределен, чтобы читать данные BLOB. Этот буфер будет расти по мере необходимости, до размеров самого большого BLOB в таблице.
· Когда таблица используется, она сохраняется в кэше. Этот кэш будет загружен и опорожнен В ПОРЯДКЕ ПОСТУПЛЕНИЯ запросов (FIFO). По умолчанию mysqld будет кэшировать 64 таблицы. Если много потоков обращаются к одной и той же таблице одновременно, будет иметься одна запись на поток. ТО ЕСТЬ, если два потока одновременно обращаются к той же самой таблице, будет две записи в кэше.
· Команда mysqladmin reload закрывает все таблицы, которые не используются, и отмечает все используемые таблицы, которые будут закрыты, когда работающие потоки завершатся. Это позволяет эффективно использовать память, своевременно ее освобождая.
... Apache на русском языке: Если открылась начальная страница, значит Apache установлен правильно. ● Перейдите в окно Web-сервера Apache с помощью Панели задач операционной системы Windows и завершите работу сервера с помощью кнопки [X] в правом верхнем углу окна. 1.3. Установка PHP Загрузить дистрибутивов PHP можно с официальной страницы http://www.php.net/downloads.php из секции Windows ...
... стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. Использование UML не ограничивается моделированием программного обеспечения. Его также используют для моделирования бизнес-процессов, системного проектирования и отображения ...
... высокого быстродействия. Их реализация существенно снижает скорость сервера. Эти возможности не являются критичными при создании web-приложений, что в сочетании с высоким быстродействием и малой ценой позволило серверу приобрести большую популярность. 3.2. Примеры использования PHP совместно с MySQL 3.2.1. Работа с формами В этом примере показано как в PHP легко обрабатывать данные с ...
... набрать: mysql>use testbase; База данных создана: 1.4 Выбор базы данных. Функция mysql_select_db До того как послать первый запрос серверу MySQL, необходимо указать, с какой базой данных мы собираемся работать. Для этого предназначена функция mysql_select_db: bool mysql_select_db(string $database_name [,resource $link_identifier]) Она уведомляет PHP, что в дальнейших ...
0 комментариев