П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 175018 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 71983 раз(а).

Учебник HTML.
Просмотров 72069 раз(а).

Руководство по PHP5.
Просмотров 42680 раз(а).

Хостинг через призму DNS.
Просмотров 49170 раз(а).

Подборка текстов стандартных документов.
Просмотров 43111 раз(а).

Учебник PHP - Самоучитель
Просмотров 49448 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 49695 раз(а).

Внешние атаки...
Просмотров 40242 раз(а).

Учебник PHP.
Просмотров 35270 раз(а).

SSI в примерах.
Просмотров 26552 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь




Глава 4. Администрирование баз данных
Пред. След.

4.1. Конфигурирование MySQL
4.1.1. Параметры командной строки mysqld

В большинстве случаев управление параметрами mysqld осуществляется при помощи файлов параметров (see Раздел 4.1.2, «Файлы параметров my.cnf»).

mysqld и mysqld.server считывают параметры из групп mysqld и server. mysqld_safe считывает параметры из групп mysqld, server, mysqld_safe и safe_mysqld. Встроенный сервер MySQL обычно считывает параметры из server, embedded и xxxxx_SERVER, где xxxxx - имя приложения.

mysqld принимает следующие параметры командной строки (для получения полного списка выполните mysqld --help):

  • --ansi

    Использовать синтаксис ANSI SQL вместо синтаксиса MySQL (see Раздел 1.9.2, «Запуск MySQL в режиме ANSI»).

  • -b, --basedir=path

    Путь к каталогу установки. Все остальные пути обычно определяются относительно этого пути.

  • --big-tables

    Позволяет использовать наборы результатов большого объема за счет сохранения всех временных файлов в одном. Данный параметр позволяет устранить большинство ошибок 'table full' (таблица переполнена), но замедляет обработку запросов, для которых было бы достаточно таблиц, расположенных в памяти. Начиная с версии 3.23.2 в MySQL эта проблема решается автоматически: память используется для небольших временных таблиц, а при необходимости происходит переключение на таблицы, расположенные на диске.

  • --bind-address=IP

    IP-адрес, с которым необходимо установить связь.

  • --console

    Писать журнал сообщений/ошибок в stderr/stdout даже если --log-error указана. На Windows mysqld просто не будет закрывать консольное окно если указана эта опция.

  • --character-sets-dir=path

    Каталог, в котором расположены наборы символов (see Раздел 4.6.1, «Набор символов, применяющийся для записи данных и сортировки»).

  • --chroot=path

    Изменяет корневой каталог программы mysqld во время запуска. Рекомендуемая мера безопасности для MySQL 4.0 (MySQL 3.23 не вполне в состоянии предоставить 100% измененную среду запуска). Эта опция некоторым образом ограничивает использование функций LOAD DATA INFILE и SELECT ... INTO OUTFILE.

  • --core-file

    Записывает файл ядра, если происходит аварийное прекращение работы mysqld. В некоторых системах также необходимо указать --core-file-size для safe_mysqld (see Раздел 4.7.2, «safe_mysqld, оболочка mysqld»). Обратите внимание на то, что в некоторых системах, таких как Solaris, не удастся записать файл ядра, если используется параметр --user.

  • -h, --datadir=path

    Путь к корневому каталогу базы данных.

  • --debug[...]=

    Если MySQL настроен при помощи --with-debug, то этот параметр позволяет получить файл трассировки, в котором отражена работа mysqld (see Раздел E.1.2, «Создание трассировочных файлов»).

  • --default-character-set=charset

    Задает набор символов, принятый по умолчанию (see Раздел 4.6.1, «Набор символов, применяющийся для записи данных и сортировки»).

  • --default-table-type=type

    Задает тип таблиц, принятый по умолчанию (see Глава 7, Типы таблиц MySQL).

  • --delay-key-write[= OFF | ON | ALL]

    Указывает, как на MyISAM DELAYED KEYS должен обрабатываться. See Раздел 5.5.2, «Настройка параметров сервера».

  • --delay-key-write-for-all-tables; В MySQL 4.0.3 следует использовать --delay-key-write=ALL.

    Отмена сброса на диск ключевых буферов для всех таблиц MyISAM между записями. See Раздел 5.5.2, «Настройка параметров сервера».

  • --des-key-file=filename

    Задает считывание из файла filename принятых по умолчанию ключей, которые используются для DES_ENCRYPT() и DES_DECRYPT().

  • --enable-external-locking (было --enable-locking)

    Включает блокировку доступа к системе. Обратите внимание на то, что если этот параметр используется в системе, где функция lockd полностью не работает (например, в Linux), это может привести к зависанию mysqld.

  • --enable-named-pipe

    Включает поддержку для именованных каналов (только в NT/Win2000/XP).

  • -T, --exit-info

    Побитовое маскирование различных флагов, которое применяется для отладки сервера mysqld; не следует использовать этот параметр, если вы хорошо не разбираетесь в том, что именно он делает!

  • --flush

    Задает сброс на диск всех изменений после каждой команды SQL. Обычно MySQL только направляет все изменения на диск после каждой команды SQL, делегируя управление синхронизацией записи на диск операционной системе (see Раздел A.4.1, «Что делать, если работа MySQL сопровождается постоянными сбоями»).

  • -?, --help

    Вывод сокращенной справки и завершение выполнения.

  • --init-file=file

    Задает считывание команды SQL из файла file при запуске.

  • -L, --language=...

    Вывод сообщений об ошибках клиента на указанном языке. Может быть задан в виде полного пути (see Раздел 4.6.2, «Сообщения об ошибках на языках, отличных от английского»).

  • -l, --log[=file]

    Задает занесение в файл журнала соединений и запросов (see Раздел 4.9.2, «Общий журнал запросов»).

  • --log-bin=[file]

    Двоичный журнал обновлений. Сохранение всех запросов, изменяющих данные, в файл. Используется для архивного копирования и репликации. See Раздел 4.9.4, «Бинарный журнал обновлений».

  • --log-bin-index[=file]

    Имя индексного файла для двоичного журнала обновлений. See Раздел 4.9.4, «Бинарный журнал обновлений».

  • --log-error[=file]

    Писать ошибки и сообщения в этот файл. See Раздел 4.9.1, «Журнал ошибок».

  • --log-isam[=file]

    Заносит в файл журнала все изменения ISAM/MyISAM (используется только при отладке ISAM/MyISAM).

  • --log-slow-queries[=file]

    Заносит в файл журнала все запросы, выполнение которых заняло больше, чем long_query_time секунд (see Раздел 4.9.5, «Журнал медленных запросов»).

  • --log-update[=file]

    Заносит в файл журнала обновления file.# где # представляет собой уникальный номер, если он не был задан (see Раздел 4.9.3, «Журнал обновлений (update)»).

  • --log-long-format

    Заносит в файл журнала обновлений некоторую дополнительную информацию. Если задано --log-slow-queries, то запросы, не использующие индексов, будут заноситься в журнал медленных запросов.

  • --low-priority-updates

    Операциям по изменению таблиц (INSERT/DELETE/UPDATE) будет назначен более низкий приоритет, чем операциям выбора. Это также можно реализовать при помощи {INSERT | REPLACE | UPDATE | DELETE} LOW_PRIORITY ..., чтобы понизить приоритет только одного запроса, или через SET LOW_PRIORITY_UPDATES=1, чтобы изменить приоритет в одном потоке (see Раздел 5.3.2, «Вопросы блокирования таблиц»).

  • --memlock

    Фиксирует процесс mysqld в памяти. Этот параметр работает только в том случае, если ваша система поддерживает системный вызов mlockall(), например Solaris. Такая мера может быть полезной, если операционная система записывает mysqld в файл подкачки на диск.

  • --myisam-recover [=параметр[,параметр...]]]

    Параметр - это любое сочетание DEFAULT, BACKUP, FORCE или QUICK. Если необходимо отключить данную функцию, укажите вместо набора параметров явно "". Если эта функция используется, mysqld проверит таблицу на предмет того, была ли она отмечена как сбойная или не была закрыта надлежащим образом (последний вариант действует только в том случае, если был включен параметр --skip-external-locking). В любом из этих случаев mysqld произведет полную проверку таблицы. Если таблица была повреждена, mysqld попытается ее восстановить. Приведенные ниже параметры влияют на работу процесса восстановления.

    ПараметрОписание
    DEFAULTАналогично отсутствию каких-либо параметров для функции --myisam-recover.
    BACKUPЕсли во время восстановления таблица данных была изменена, сохраняется резервная копия файла данных table_name.MYD под именем table_name-datetime.BAK.
    FORCEЗапуск восстановления, даже если будет утрачено более одной строки из файла .MYD.
    QUICKНе проверять строки в таблице, в которых отсутствуют удаленные блоки.

    Перед автоматическим восстановлением таблицы MySQL добавит запись об этом в журнал ошибок. Если необходимо, чтобы восстановление после большинства ошибок осуществлялось без вмешательства пользователя, следует установить параметры BACKUP и FORCE. Тогда восстановление будет производиться даже в случае, если некоторые строки будут удалены, но файл данных будет сохраняться в виде резервной копии, поэтому впоследствии всегда можно будет определить, что произошло.

  • --pid-file=path

    Путь к pid-файлу используется функцией safe_mysqld.

  • -P, --port=...

    Номер порта для прослушивания соединений TCP/IP.

  • -o, --old-protocol

    Использовать протокол 3.20 для совместимости с некоторыми очень старыми клиентами (see Раздел 2.5.5, «Модернизация с версии 3.20 до версии 3.21»).

  • --one-thread

    Использовать только один поток (для отладки в системе Linux) (see Раздел E.1, «Отладка сервера MySQL»).

  • -O, --set-variable var=option

    Задает значение для переменной. --help - выводит список переменных. Подробное описание всех переменных можно найти в разделе SHOW VARIABLES этого руководства (see Раздел 4.5.6.4, «SHOW VARIABLES»).

    Обратите внимание, --set-variable морально устарела с версии MySQL 4.0. Просто используйте --var=option. See Раздел 5.5.2, «Настройка параметров сервера».

    В MySQL 4.0.2 вы можете устанавливать переменную непосредственно с помощью --variable-name=option, и set-variable больше не нужна в файлах опций.

    Если вы хотите ограничить максимальное значение, в которое может быть установлена пемеременная при помощи SET, определите это значение с помощью опции --maximum-variable-name See Раздел 5.5.6, «Синтаксис команды SET».

    Когда переменная будет устанавливаться в какое-либо значение, MySQL автоматически будет корректировать его, чтобы оно оставалось в указананных рамках; также MySQL может немного корректировать установленное значение с тем, чтобы эффективнее использовались внутренние алгоритмы.

    Раздел по настройке параметров сервера включает информацию по их оптимизации (see Раздел 5.5.2, «Настройка параметров сервера»).

  • --safe-mode

    Пропуск некоторых этапов оптимизации.

  • --safe-show-database

    При использовании этого параметра команда SHOW DATABASES выдает только те базы данных, для которых у пользователя есть какие-либо привилегии. Начиная с версии 4.0.2 этот параметр является недействительным и больше ни на что не влияет (его значение установлено по умолчанию), так как в новой версии появилась привилегия SHOW DATABASES (see Раздел 4.3.1, «Синтаксис команд GRANT и REVOKE»).

  • --safe-user-create

    Когда этот параметр включен, пользователь не может создавать новых пользователей при помощи команды GRANT, если он не имеет привилегии INSERT для таблицы mysql.user или для любого столбца этой таблицы.

  • --skip-bdb

    Запретить использование таблиц BDB. Это сэкономит память и может ускорить работу.

  • --skip-concurrent-insert

    Отключает возможность одновременного выбора и вставки данных для таблиц MyISAM (используется только в том случае, если в этой функции найдена ошибка).

  • --skip-delay-key-write; в MySQL 4.0.3 следует использовать --delay-key-write=OFF

    Игнорирует параметр DELAY_KEY_WRITE для всех таблиц (see Раздел 5.5.2, «Настройка параметров сервера»).

  • --skip-grant-tables

    Включение данного параметра приводит к тому, что сервер совсем не использует систему привилегий - таким образом полный доступ ко всем базам данных получают все! (Можно дать серверу команду снова использовать таблицы доступа, запустив mysqladmin flush-privileges или mysqladmin reload.)

  • --skip-host-cache

    Никогда не использовать кэш имени главного компьютера для быстрого разрешения соответствий имен и IP-адресов, а вместо этого всегда запрашивать DNS-сервер по каждому соединению (see Раздел 5.5.5, «Как MySQL использует DNS»).

  • --skip-innodb

    Запретить использование таблиц InnoDB. Это сэкономит память и может ускорить работу.

  • --skip-external-locking (было --skip-locking)

    Не использовать средства системных блокировок. Чтобы воспользоваться функциями isamchk или myisamchk, необходимо выключить сервер (see Раздел 1.4.3, «Насколько стабильным является MySQL?»). Обратите внимание на то, что в MySQL версии 3.23 для восстановления или проверки таблиц MyISAM можно использовать REPAIR и CHECK.

  • --skip-name-resolve

    Не производится разрешения имен хостов. Все значения в столбце Host в таблицах привилегий должны быть IP-адресами или значениями localhost (see Раздел 5.5.5, «Как MySQL использует DNS»).

  • --skip-networking

    Прослушивание соединений TCP/IP не производится. Связь с mysqld должна осуществляться через сокеты Unix. Этот параметр рекомендуется для систем, в которых разрешены только локальные запросы (see Раздел 5.5.5, «Как MySQL использует DNS»).

  • --skip-new

    Не использовать новые (возможно, неправильные) операции.

  • --skip-symlink

    Не удалять и не переименовывать файлы, на которые указывает файл symlinked в каталоге данных.

  • --skip-safemalloc

    Если MySQL настроен при помощи --with-debug=full, все программы будут проверять память на наличие выхода за границы области памяти при каждом заполнении и освобождении памяти. Поскольку такая проверка осуществляется довольно медленно, от нее можно отказаться, воспользовавшись этим параметром.

  • --skip-show-database

    Не позволяет использовать команду SHOW DATABASES, если пользователь не имеет привилегии SHOW DATABASES. Начиная с версии 4.0.2 этот параметр больше не нужен, поскольку доступ теперь может быть разрешен при помощи привилегии SHOW DATABASES.

  • --skip-stack-trace

    Не записывать трассировку стеков. Этот параметр может оказаться полезным, когда mysqld запущен под отладчиком. В некоторых системах данный параметр также необходимо использовать для получения файла ядра (see Раздел E.1, «Отладка сервера MySQL»).

  • --skip-thread-priority

    Отключает использование приоритетов потока, чтобы уменьшить время ожидания ответа.

  • --socket=path

    Файл канала, который используется для локального соединения вместо файла, принятого по умолчанию, /tmp/mysql.sock.

  • --sql-mode=параметр[,параметр[,параметр...]]

    Параметр может представлять собой любое сочетание из: REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, SERIALIZE, ONLY_FULL_GROUP_BY. Если нужно произвести сброс значения, параметр может быть пустым (""). Указание всех приведенных выше параметров аналогично использованию --ansi. При помощи этого параметра можно включать только необходимые режимы SQL (see Раздел 1.9.2, «Запуск MySQL в режиме ANSI»).

  • --temp-pool

    При указании данного параметра для создаваемых временных файлов будет использоваться ограниченный набор имен вместо создания уникального имени для каждого нового файла. Данная функция предназначена для устранения проблемы ядра Linux, возникающей при создании большого количества новых файлов с разными именами. По старой схеме в Linux как бы происходит 'утечка' памяти, так как она распределяется для кэша каталогов вместо дискового кэша.

  • --transaction-isolation= { READ-UNCOMMITTED | READ-COMMITTED |

    REPEATABLE-READ | SERIALIZABLE } Задает принятый по умолчанию уровень изоляции транзакции (see Раздел 6.7.3, «Синтаксис команды SET TRANSACTION»).

  • -t, --tmpdir=path

    Путь для временных файлов. Может быть полезен, если принятый по умолчанию каталог /tmp расположен на слишком маленьком диске и не может вместить все временные таблицы. Начиная с MySQL 4.1, эта опция поддержает указание нескольких путей, разделенных двоеточием : (на Windows - точкой с запятой ;). Эти пути будут использованы в ротации.

  • -u, --user= [user_name | userid]

    Запуск демона mysqld от имени пользователя user_name или userid (число). Этот параметр является обязательным при запуске mysqld в качестве главной программы.

    Начиная с MySQL 3.23.56 и 4.0.12:

    Для того, чтобы избежать возможного пробоя в безопасности когда пользователь добавляет опцию --user=root в один из файлов my.cnf, mysqld лишь только будет использовать первую указанную опцию --user и давать предупреждение если указано множество таких опций. Имейте в виду, что /etc/my.cnf и datadir/my.cnf могут перекрыть опцию командной строки - таким образом, рекомендовано указывать эту опцию именно в /etc/my.cnf.

  • -V, --version

    Вывод информации по версии программы и завершение выполнения.

  • -W, --log-warnings (было --warnings)

    Задает запись таких предупреждений, как Aborted connection... в файл .err (see Раздел A.2.9, «Коммуникационные ошибки / Оборванные соединения».

Большая часть значений может быть изменена в процессе работы сервера с помощью команды SET. See Раздел 5.5.6, «Синтаксис команды SET».


Назад Начало Главы Начало Раздела Вперед

Пред. Глава След. Глава
Глава 3. Учебное пособие по MySQL Начало Книги Глава 5. Оптимизация в MySQL


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru