ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    MYSQL server
         

     

    Інформатика, програмування

    Зміст

    Введення ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 4

    1 . Загальний опис, запуск і настроювання прав доступу до баз даних MySQL ... ... ... ... ... ... ... ... .... ... ... .. ... .. 5

    2. Сценарій пакету MySQL ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... ... .. 10

    1. Основні команди ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 11

    2. Додаткові команди ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... ... ... .23

    3. Настройка mysqld (серверна частина пакета MySQL) ... ... ... ... ... ... ... ... .27

    4. Можливість мови Perl для роботи з MySQL сервером ... ... ... ... ... ... .. 29

    Висновок ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... .. ... ... ... .31


    Список літератури ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... ... ... ... ... ... ... ... .. 33

    Введення.

    На сьогоднішній день СУБД MySQL є однією з найвідоміших,надійних і швидких з усього сімейства існуючих СУБД. Чому саме вона?
    Однією з причин є правила її поширення - за неї не требаплатити гроші і розповсюджується вона разом зі своїми вихідними текстами,інша причина - це те, що MySQL щодо швидка СУБД. PostgreSql,наприклад, також поширюється під ліцензією * GNU GPL, але вона не отрималатакого широкого розповсюдження. Одна з причин - це помітнаповільність. Отже, дві головні причини популярності MySQL: ціна іпродуктивність.

    MySQL написаний під десятки видів операційних систем. Це і FreeBSD,
    OpenBSD, MacOS, OS/2, SunOS, Win9x/00/NT і Linux. Сьогодні MySQL особливопоширена на платформах Linux і Windows. Причому на останнійзустрічається набагато рідше.

    Принцип роботи СУБД MySQL аналогічний принципу роботи будь-якої СУБД,що використовує SQL (Structured Query Language, мова структурованихзапитів) в якості командного мови для створення/видалення баз даних,таблиць, для поповнення таблиць даними, для здійснення вибірки даних.

    Метою даної роботи є опис конфігурування,адміністрування і програмування СУБД MySQL і створення програмиілюструє можливості MySQL.

    1. Загальний опис, запуск і настроювання прав доступу до баз даних MуSQL.

    MySQL, як і будь-яка інша СУБД являє собою програму-сервер,яка знаходиться в пам'яті комп'ютера і обслуговує TCP порт. У випадку з
    MySQL, номером порту буде число 3306. А клієнтська програма,будь то CGI-додаток на Perl або програмний продукт на C, з'єднується з
    СУБД з цього порту і посилає йому рядки на SQL. Той у свою чергу їхінтерпретує, виконуючи необхідні дії, і відсилає результатизапиту назад клієнтові. У такий спосіб відбувається спілкування сервера базданих з клієнтськими програмами.

    Для запуску MуSQL-сервера необхідно виконати файл mysqld.exe. Серверзапускається як безоконний фоновий процес. При цьому він залишається в пам'яті йобробляє запити від клієнтських додатків.

    Для зупинки сервера слід виконати команду: mysqladmin-u root shutdown.

    Якщо сервер не був зупинений коректно, то при наступному запуску вфото mysql.err буде додано запис про аварійне завершення.
    Коректна зупинка сервера необхідна для збереження всіх даних, якізнаходяться в кешах MySQL.

    MуSQL має розвинену систему доступу до баз даних. Користувачеві базиданих може бути надано доступ до всієї бази даних, окремимтаблиць і окремим стовпцях таблиць. Є розмежування на дії,які може виробляти користувач із записами. Для організації такоїскладною (на перший погляд) структури доступу використовується декілька таблицьв спеціальній базі даних. На підставі значень цих таблиць вибудовуєтьсяполітика надання доступу.

    База даних, яку сервер MуSQL використовує для збереження внутрішньоїінформації про користувачів, за замовчуванням має ім'я mуsql. У цій базіданних визначені таблиці для зберігання інформації для користувача обліковихзаписів. Зміст БД mysql в таблиці 1.1.

    Таблиця 1.1. Список таблиць прав доступу

    | Порядок | Назва | Опис |
    | перевірки | таблиці | |
    | 1 | user | Список всіх користувачів сервера MySQL з правами |
    | | | Доступу до всієї бази даних в цілому |
    | 2 | db | Список баз даних з зіставленнями їм |
    | | | Користувачами та їхніми привілеями на виконання |
    | | | Операції |
    | 3 | host | Список комп'ютерів, з яких можливий доступ до |
    | | | Співставлений комп'ютера базі даних, і |
    | | | Привілеї на виконання операцій, які можуть |
    | | | Проводиться через з'єднання з цього комп'ютера |
    | 4 | tables_priv | Список таблиць баз даних, до яких можливий |
    | | | Доступ користувача |
    | 5 | columns_priv | Список стовпців бази даних, до яких можливий |
    | | | Доступ користувача |

    Перевірка прав доступу здійснюється в порядку, зазначеному в таблиці 1.1.
    Перш за все перевіряється, чи існує користувач і які можливості вінмає при управлінні базою даних (табліца1.2 .).

    Таблиця 1.2. Поля таблиці user

    | Назва поля | Тип | Значення | Опис |
    | | | За | |
    | | | Замовчуванням | |
    | 1 | 2 | 3 | 4 |
    | Host | Char (60) | | Комп'ютер користувача, з |
    | | | | Якого дозволено підключення |
    | User | Char (16) | | Ім'я користувача |
    | Password | Char (16) | | Пароль користувача |
    | Select_priv | Enum ( 'N', 'Y') | N | Привілеї на вибірку даних |
    | | | | Оператором SELECT |
    | Insert_priv | Enum ( 'N', 'Y') | N | Привілеї на вставку даних |
    | | | | Оператором INSERT |
    | Update_priv | Enum ( 'N', 'Y') | N | Привілеї на зміну даних |
    | | | | Оператором UPDATE |
    | Delete_priv | Enum ( 'N', 'Y') | N | Привілеї на видалення даних |
    | | | | Оператором DELETE |
    | Reload_priv | Enum ( 'N', 'Y') | N | Привілеї на перезапуск |
    | | | | Сервера MySQL, а також скидання |
    | | | | Даних з пам'яті на диск |
    | 1 | 2 | 3 | 4 |
    | Shutdown_priv | Enum ( 'N', 'Y') | N | Привілеї на відключення |
    | | | | Сервера MySQL |
    | Process_priv | Enum ( 'N', 'Y') | N | Привілеї на перегляд |
    | | | | Стану поточних процесів |
    | | | | Сервера |
    | File_priv | Enum ( 'N', 'Y') | N | Привілеї, необхідні для |
    | | | | Роботи з файловою системою, |
    | | | | Наприклад оператором LOAD DATA |
    | | | | INFILE |
    | Grant_priv | Enum ( 'N', 'Y') | N | Привілеї, що дозволяють |
    | | | | Користувачеві встановлювати |
    | | | | Привілеї іншим користувачам |
    | References_priv | Enum ( 'N', 'Y') | N | Привілеї, що дозволяють |
    | | | | Посилатися на об'єкт |
    | Index_priv | Enum ( 'N', 'Y') | N | Привілеї, необхідні для |
    | | | | Індексування даних |
    | Alter_priv | Enum ( 'N', 'Y') | N | Привілеї, що дозволяють |
    | | | | Оновлювати дані |

    Поля з типом Enum ( 'N', 'Y') вважаються дозволеними, якщо встановленозначення Y, і невирішеними, якщо встановлено на N.

    Для адміністратора сервера MуSQL необхідні всі привілеї, для звичайнихкористувачів у даній таблиці зазвичай не дозволена жодна з привілеї,тобто Звичайні користувачі не можуть змінювати конфігурацію сервера MySQL.
    Винятком можна вважати привілеї File_priv, якщо користувач активнопрацює з файловою системою.

    Поле host може бути описано як IP-адреса або ім'я, а також може бутипорожнім. В імені комп'ютера і в імені користувача дозволяється застосуваннярегулярних виразів.

    Паролі зберігаються в зашифрованому вигляді і не мають функції зворотногодешифрування. Для того щоб задати пароль, необхідно використовувати функціюpassword ().

    Якщо привілеї на перегляд процесів сервера не вирішені, тодікористувач може бачити лише власні процеси.

    На етапі перевірки значень таблиці user пропускаються для подальшоїобробки тільки ті сполуки, у яких поля Host, User і значенняфункції password () від значення пароля, отриманого від клієнта, збігаються.

    Подальша обробка наводиться в таблиці db. На цьому етапівизначаються привілеї, якими володіє користувач для роботи зконкретною базою даних (табліца. 1.3).

    Таблиця 1.3. Привілеї для роботи з базою даних

    | Назва поля | Тип | Значення | Опис |
    | | | За | |
    | | | Замовчуванням | |
    | Host | | | Адреса комп'ютера |
    | | | | Користувача, з якого |
    | | | | Дозволено підключення |
    | Db | | | Ім'я бази даних |
    | User | | | Ім'я користувача |
    | Select_priv | Enum ( 'N', 'Y') | N | Привілеї на вибірку даних |
    | | | | Оператором SELECT |
    | Insert_priv | Enum ( 'N', 'Y') | N | Привілеї на вставку даних |
    | | | | Оператором INSERT |
    | Update_priv | Enum ( 'N', 'Y') | N | Привілеї зміни даних |
    | | | | Оператором UPDATE |
    | Delete_priv | Enum ( 'N', 'Y') | N | Привілеї на видалення даних |
    | | | | DELETE |
    | Create_priv | Enum ( 'N', 'Y') | N | Привілеї, необхідні для |
    | | | | Створення таблиць оператором |
    | | | | CREATE TABLE |
    | Drop_priv | Enum ( 'N', 'Y') | N | Привілеї, необхідні для |
    | | | | Видалення таблиць оператором |
    | | | | DROP TABLE |
    | Grant_priv | Enum ( 'N', 'Y') | N | Привілеї, що дозволяють |
    | | | | Користувачеві встановлювати |
    | | | | Привілеї іншим |
    | | | | Користувачам |
    | References_priv | Enum ( 'N', 'Y') | N | Привілеї, що дозволяють |
    | | | | Посилатися на об'єкт |
    | Index_priv | Enum ( 'N', 'Y') | N | Привілеї, необхідні для |
    | | | | Індексування даних |
    | Alter_priv | Enum ( 'N', 'Y') | N | Привілеї, що дозволяють |
    | | | | Оновлювати дані |

    Привілеї, вказані в таблиці db, перекривають значення, отримані втаблиці user, саме тому користувачі можуть не мати жодноїпривілеї в таблиці user.

    Один користувач може мати кілька різних адрес, з якихможе здійснюватися підключення, тому на даному етапі перевіряєтьсязначення Host. Якщо значення поле Host пусто, тоді проводитьсядодаткова перевірка в таблиці host. Таблиця Host ідентична таблиці Db,за винятком того, що в ній відсутня полі User. Стовпці таблиці hostаналогічні стовпцях таблиці db, різниця полягає лише в тому, що дані зтаблиці host при збігу полів Host і Db мають більш високий пріоритет,і перекривають раніше встановлені значення.

    MySQL сервер дозволяє встановлювати обмеження на доступ до окремихтаблиць і стовпців таблиці (ця інформація зберігається в таблицях tables_privі columns_priv), але збільшення кількості перевірок призводить до зменшенняпродуктивності.

    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

    Перевірка прав доступу користувача.

    СИНТАКСИС: 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 | Вивести коротке повідомлення про статус |
    | | Сервера. |

    mysqld

    Серверна частина пакета 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 потоками. |
    | | Приклад: |
    | | Mysqld - socket =/tmp/mysql.sock |
    |-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

    Дамп змісту бази даних.

    СИНТАКСИС: 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]. |

    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]

    ОПИС: < p> Ця команда, ймовірно, корисна лише на системах, які не мають,команди 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-> Сервер 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. Однак можна обійти

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status