Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным потребностям. Если вы столкнулись с ситуацией, когда вам этого недостаточно, MySQL предлагает вам массу настроек. Некоторые настройки нужно изменять во время запуска сервера, а другие - во время непосредственной работы с ним.
Пал смертью храбрых
Выполняемый процесс никогда не останавливается моментально, при получении команды KILL. MySQL помечает данный процесс своеобразной "черной меткой" (kill flag) и закрывает его, как только прекращается выполнение операций. Этот метод считается гораздо более "гуманным" и безопасным. Выполняемый процесс всегда проверяет наличие метки перед следующей операцией.
Использование конфигурационного файла
Самый рекомендуемый метод настройки параметров MySQL - это использование конфигурационного файла. Это ASCII-файл, содержащий в себе переменные, которые считываются сервером при загрузке. MySQL обращается к этому файлу на некоторых этапах загрузки.
■ ОС Windows. При запуске MySQL просматривает конфигурационный файл my.cnf, который находится в инсталляционном каталоге Windows по адресу C:my.cnf. Конечно, вы можете переместить этот файл в каталог Windows (C:WINNT или C:WINDOWS), как и файл my.ini (но это следует делать только в крайнем случае).
■ ОС UNIX. MySQL во время запуска ищет настройки запуска в каталогах /etc/ my.cnf и -/.my.cnf, а также в файле my.cnf, который находится в справочнике данных MySQL.
Совет
Вы также можете указать MySQL, чтобы при старте программа искала параметры запуска в нескольких местах, задав имя файла в параметр - -default-files в командной строке.
Листинг 13.20.
[mysqld] port= 3306 skip-locking log-bin skip-bdb
Один за всех! Или все за одного!
Все программы, поставляемые с MySQL (не только mysqld), могут брать параметры из конфигурационного файла. Задайте в конфигурационном файле имя программы как группу (т.е. взяв его в круглые скобки) и делайте с ним все, что хотите, настраивайте согласно вашим задачам. Клиентские программы MySQL могут потребовать указания специальной группы [client] , которая используется для хранения параметров подключения пользователя. Например:
[client] user=timothy password=greenpeas
На заметку
Для того чтобы найти примеры конфигурационных файлов, загляните в файлы my-large.cnf, my-huge.cnf, my-medium.cnf и my-small.cnf, и вы поймете, как можно эти файлы использовать.
Обычно MySQL просматривает группы [mysql] и [mysqld] , чтобы получить параметры конфигурации. Если вы для запуска MySQL на UNIX используете сценарий mysqld_safe, то для передачи параметров в MySQL вы сможете использовать группу [mysqld_safe] .
В этом случае, при попытке подключения к серверу клиента mysql, он подключится как пользователь под именем timothy и с паролем greenpeas. В табл. 13.2 представлены самые полезные параметры настройки MySQL. (Для более детальной информации обратитесь к инструкции по MySQL.)
Все эти параметры могут быть введены с командной строки, но еще нужно в качестве префикса добавить двойное тире.
Листинг 13.21.
[root@host]# /usr/local/mysqld_safe -socket=/usr/tmp/mysql.docket -user=mysql -skip-networking &
Starting mysqld daemon with databases from /usr/local/mysql/data
Если существует несколько конфигурационных файлов или один и тот же параметр задан несколько раз с различными значениями, то MySQL использует только последнее значение. Поскольку MySQL сначала обращается к конфигурационному файлу, а затем считывает командную строку, это означает, что параметры, заданные в командной строке, имеют преимущество перед параметрами, заданными в конфигурационном файле.
Использование команды set
С помощью команды SET можно изменять параметры системы и соединения при работающем сервере.
Листинг 13.22.
SET variable = value, variable = value, ...
Вот пример, в котором показано, как с помощью команды SET можно установить тип таблицы.
Листинг 13.23.
mysql> SET table_type = innodb;
Query OK, 0 rows affected (0.00 sec)
Изменения, осуществляемые с помощью команды SET, могут быть установлены или для всех сеансов, или только для одного текущего сеанса. После того как вы указали SET, вы должны написать GLOBAL или SESSION. Ниже приведен пример, в котором показано, как количество пользователей ограничивается до 10 (до 10 подключений в любой момент времени) и размер буфера считывания устанавливается равным 250 Кбайт.
Листинг 13.24.
mysql> SET GLOBAL max_user_connections = 10, SESSION read_buffer_size = 250000;
Query Ok, 0 rows affected (0.08 sec)
Заметим, что для задания переменных GLOBAL требуется привилегия SUPER. О ней можно узнать больше в главе 14, "Безопасность, управление доступом и привилегии".
Кто там?
Если система установлена на одном компьютере с сервером MySQL, и вы установили --skip-networking, соответственно, никто не сможет получить доступ к вашей системе через TCP/IP, что значительно повышает безопасность установки MySQL. '
В таблице 13.3 представлены важные переменные, которые активизируются с помощью команды SET (см. инструкцию по MySQL, а также главу 16, "Оптимизация производительности"
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Как изменить настройки сервера
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Настройка автоматического запуска MySQL при загрузке компьютера | Все о MySQL. Получение значений переменных |