МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • MYSQL server

    |-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]. |

    isamlog

    Получение статистики, и использование 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]. Эта опция может использоваться, чтобы |

    | |получить двоичный файл всех вставок и модификаций |

    | |конкретной таблицы для использования в отладке. |

    safe_mysqld

    Скрипт для запуска демона 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

    СИНТАКСИС:

    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 закрывает все таблицы, которые не

    используются, и отмечает все используемые таблицы, которые будут

    закрыты, когда работающие потоки завершатся. Это позволяет эффективно

    использовать память, своевременно ее освобождая.

    4. Возможности языка Perl для работы с MySQL

    сервером.

    При написании программы к данной работе выбран язык Perl, т. к.

    сегодня MySQL более широкое распространение получил на Web-серверах. А Perl

    как нельзя лучше других языков подходит для написания CGI-приложений.

    Взаимодействие сценария на языке Perl с MySQL можно изобразить схемой:

    Сценарий Perl–>DBI –>DBD::MySQL–>Cервер MySQL.

    DBI обеспечивает единый интерфейс взаимодействия с различными

    системами управления базами данных. А DBD связывает этот интерфейс

    непосредственно с конкретной СУБД. В нашем случае это mysql. Для того,

    чтобы программа на Perl могла общаться и работать с базой данных,

    необходимо подключить модуль DBI и драйвер DBD. Это выполняется следующими

    операторами:

    use DBI; use DBD::mysql;

    Для того чтобы выполнять SQL запросы к базе данных, нужно установить

    логическое соединение с MySQL. Это выполняется при помощи метода объекта

    DBI. При этом он возвращает объект (дескриптор) соединения, который будет

    использоваться для непосредственного общения с базой данных.

    $dbh = DBI->connect('DBI:mysql:dbname= GRYADKA; host= 127.0.0.1;

    port=3306','','',0);

    Вызывая метод connect, ему передаются некоторые параметры. Первый

    параметр определяет свойства соединения.

    Эта строка имеет следующую структуру:

    "dbi::dbname= ; host=;

    port="

    Далее в методе connect определяются имя пользователя, пароль и флаги

    соединения.

    Существует два способа работы с базами данных MySQL. Первый — так

    называемый механизм курсоров, а второй, соответственно, без использования

    таковых.

    Курсоры — это объекты Perl, которые обеспечивают последовательный

    доступ к результатам запросов.

    Каждый курсор отвечает за закрепленный за ним запрос.

    $cur = $dbh->prepare('select * from MAIN;');

    $cur — это курсор, который для начала следует выполнить, используя

    метод execute:

    $cur->execute;

    Теперь, после выполнения запроса, чтобы получить результат запроса,

    используется метод fetchrow_array. Он поочередно возвращает массив полей

    результативной виртуальной таблицы.

    Очень часто бывает необходимо подготовить запрос и после, при его

    выполнении, передавать ему различные данные. Это довольно просто решается

    при помощи механизма placeholders:

    $cur = $dbh->prepare('insert into MAIN values(?,?)');

    где вопросительные знаки следует заменить на значения переменных,

    переданных в качестве параметров метода execute:

    $a00 = 2; $a01 = 'second record'; $cur->execute($a00, $a01);

    Для того чтобы закрыть курсор, необходимо выполнить метод finish.

    $cur->finish;

    Курсоры очень удобный момент в технологии DBI. Однако можно обойтись и

    без них. Существует множество методов, которые вполне неплохо заменяют

    курсоры:

    selectrow_array — возвращает одну строку запроса в виде массива;

    selectall_arrayref — возвращает весь ответ сервера в виде массива,

    ссылка на массивы;

    do — выполняет запрос, ничего не возвращая (очень удобно при работе с

    insert, update и пр.)

    Для того чтобы разорвать соединение с MySQL, необходимо выполнить

    метод disconnect.

    $dbh->disconnect;

    Заключение.

    В процессе написания данной работы были выяснены следующие свойства

    MySQL сервера:

    . Многопоточность. Поддержка нескольких одновременных запросов.

    . Оптимизация связей с присоединением многих данных за один проход.

    . Записи фиксированной и переменной длины.

    . Гибкая система привилегий и паролей.

    . До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.

    . Поддержка ключевых полей и специальных полей в операторе CREATE.

    . Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed),

    строк переменной длины и меток времени.

    . Интерфейс с языками C и perl.

    . Основанная на потоках, быстрая система памяти.

    . Утилита проверки и ремонта таблицы (isamchk).

    . Все операции работы со строками не обращают внимания на регистр

    символов в обрабатываемых строках.

    . Псевдонимы применимы как к таблицам, так и к отдельным колонкам в

    таблице.

    . Все поля имеют значение по умолчанию. INSERT можно использовать на

    любом подмножестве полей.

    . Легкость управления таблицей, включая добавление и удаление ключей и

    полей.

    Итак, популярность MySQL сервера определяется не только тем, что пакет

    распространяется бесплатно и имеет высокую производительность, но ещё и

    тем, что имеет множество вышеперечисленных достоинств, многих из которых

    нет у других СУБД.

    И виртуальный магазин, и сервер знакомств, и всевозможные сайты,

    предоставляющие платные услуги, — все нуждаются в возможности обрабатывать

    и хранить большие объемы информации. MySQL предоставляет всем эту

    возможность совершенно бесплатно. Это действительно одна из самых мощных,

    быстрых и надежных СУБД.

    В ходе выполнения курсовой работы была написана программа, которая

    представляет собой Интернет-каталог. Она иллюстрирует возможности MySQL

    сервера, возможности интеграции MySQL c сетью Internet, что на сегодня

    весьма актуально. Созданная программа может использоваться в качестве

    Интернет-каталога в Интернет-магазине.

    Список литературы

    1. М. Каба. MySQL и Perl – СПб.: Питер, 2001.

    А. Паутов. Документация по MySQL.

    2. М. Грубер. Понимание SQL.

    3. Материалы интернет-сайтов:

    www.mysql.com

    www.infocity.kiev.ua

    Страницы: 1, 2, 3


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.