MySQL. Руководство администратора

Компания MySQL AB

Эта книга, написанная специалистами компании MySQL AB, является всеобъемлющим справочником по установке, обслуживанию и администрированию сервера баз данных MySQL. По сути — это официальная документация фирмы производителя. В книге рассмотрен весь спектр вопросов, касающихся администрирования MySQL, а также представлена информация, предназначенная для опытных пользователей и администраторов.

Как известно, MySQL занимает лидирующие позиции среди множества систем управления базами данных с открытым исходным кодом. Благодаря высокой производительности и простоте настройки, богатому выбору API-интерфейсов, а также функциональным средствам работы с сетями, сервер MySQL стал одним из наиболее удачных вариантов для разработки Web-приложений, взаимодействующих с базами данных.

Книга рассчитана на администраторов и разработчиков Web-приложений любой квалификации, а также на студентов и преподавателей соответствующих дисциплин.

Перевод с англ. - Москва, Издательский дом «Вильямс», 2005.

ISBN 5-8459-0805-1

Количество страниц: 624.

Содержание книги «MySQL. Руководство администратора»:

  • 14 Об этой книге
  • 14 От издательства
  • 15 Глава 1. Общая информация
    • 15 1.1. Что собой представляет это руководство
      • 16 1.1.1. Соглашения, используемые в руководстве
    • 18 1.2. Что такое система управления базами данных MySQL
      • 19 1.2.1. История MySQL
      • 20 1.2.2. Основные возможности MySQL
      • 22 1.2.3. Стабильность MySQL
      • 23 1.2.4. Размеры таблиц MySQL
      • 25 1.2.5. Решение «проблемы 2000 года»
    • 26 1.3. Компания MySQL AB
      • 27 1.3.1. Бизнес-модель и услуги, оказываемые MySQL AB
      • 30 1.3.2. Контактная информация
    • 31 1.4. Поддержка и лицензирование MySQL
      • 31 1.4.1. Поддержка, предоставляемая компанией MySQL AB
      • 32 1.4.2. Авторские права и лицензии на MySQL
      • 32 1.4.3. Лицензии на MySQL
      • 35 1.4.4. Логотипы и торговые марки MySQL AB
    • 37 1.5. План разработки MySQL
      • 37 1.5.1. Кратко о MySQL 4.0
      • 39 1.5.2. Кратко о MySQL 4.1
      • 41 1.5.3. MySQL 5.0: Очередной разрабатываемый выпуск
    • 41 1.6. MySQL и будущее (списки TODO)
      • 41 1.6.1. Новые средства, запланированные для версии 4.1
      • 42 1.6.2. Новые средства, запланированные для версии 5.0
      • 43 1.6.3. Новые средства, запланированные для версии 5.1
      • 43 1.6.4. Новые средства, запланированные на ближайшее будущее
      • 46 1.6.5. Новые средства, запланированные на отдаленное будущее
      • 47 1.6.6. Новые средства, которые не планируются к реализации
    • 48 1.7. Источники информации по MySQL
      • 48 1.7.1. Списки рассылки MySQL
      • 56 1.7.2. Поддержка сообщества пользователей MySQL в IRC
    • 56 1.8. Соответствие стандартам MySQL
      • 57 1.8.1. Стандарты, которым соответствует MySQL
      • 57 1.8.2. Выбор режимов SQL
      • 57 1.8.3. Запуск MySQL в режиме ANSI
      • 58 1.8.4. Расширения стандартного SQL в MySQL
      • 61 1.8.5. Отличия MySQL от стандартного SQL
      • 68 1.8.6. Как MySQL работает с ограничениями
      • 70 1.8.7. Известные ошибки и недостатки дизайна MySQL
  • 76 Глава 2. Установка MySQL
    • 77 2.1. Общие вопросы установки
      • 77 2.1.1. Операционные системы, поддерживаемые MySQL
      • 79 2.1.2. Выбор дистрибутива MySQL для установки
      • 90 2.1.3. Как получить MySQL
      • 90 2.1.4. Проверка целостности пакета с помощью контрольных сумм MD5 или GnuPG
      • 93 2.1.5. Расположение каталогов установки
    • 95 2.2. Стандартная установка MySQL из бинарного дистрибутива
      • 95 2.2.1. Установка MySQL под Windows
      • 107 2.2.2. Установка MySQL под Linux
      • 109 2.2.3. Установка MySQL под Mac OS X
      • 112 2.2.4. Установка MySQL под NetWare
      • 114 2.2.5. Установка MySQL в других Unix-подобных системах
    • 117 2.3. Установка MySQL из исходного дистрибутива
      • 118 2.3.1. Обзор установки из исходного дистрибутива
      • 121 2.3.2. Типичные опции сценария configure
      • 124 2.3.3. Установка из исходного дерева разработки
      • 127 2.3.4. Решение проблем компиляции MySQL
      • 131 2.3.5. Замечания по поводу потоков MIT-pthreads
      • 133 2.3.6. Установка MySQL из исходных дистрибутивов под Windows
      • 136 2.3.7. Компиляция клиентских программ MySQL под Windows
    • 136 2.4. Настройки и тестирование после установки
      • 137 2.4.1. Постустановочные процедуры под Windows
      • 138 2.4.2. Постустановочные процедуры под Unix
      • 144 2.4.3. Автоматический запуск и останов MySQL
      • 146 2.4.4. Запуск сервера MySQL и устранение неисправностей
      • 149 2.4.5. Защита начальных учетных записей MySQL
    • 153 2.5. Модернизация MySQL и возврат к старой версии
      • 154 2.5.1. Модернизация версии 4.1 до 5.0
      • 154 2.5.2. Модернизация версии 4.0 до 4.1
      • 159 2.5.3. Модернизация версии 3.23 до 4.0
      • 163 2.5.4. Модернизация версии 3.22 до 3.23
      • 165 2.5.5. Модернизация версии 3.21 до 3.22
      • 166 2.5.6. Модернизация версии 3.20 до 3.21
      • 167 2.5.7. Модернизация MySQL под Windows
      • 167 2.5.8. Обновление таблиц привилегий
      • 168 2.5.9. Копирование баз данных MySQL на другую машину
    • 170 2.6. Замечания по поводу конкретных операционных систем
      • 170 2.6.1. Замечания по поводу Linux
      • 178 2.6.2. Замечания по Max OS X
      • 179 2.6.3. Замечания по Solaris
      • 183 2.6.4. Замечания по BSD
      • 187 2.6.5. Замечания по другим системам Unix
      • 196 2.6.6. Замечания по OS/2
      • 197 2.6.7. Замечания по BeOS
    • 197 2.7. Замечания по поводу установки Perl
      • 197 2.7.1. Установка Perl под Unix
      • 198 2.7.2. Установка ActiveState Perl под Windows
      • 199 2.7.3. Проблемы использования интерфейса Perl DBI/DBD
  • 202 Глава 3. Использование программ MySQL
    • 202 3.1. Обзор программ MySQL
    • 203 3.2. Запуск MySQL-программ
    • 204 3.3. Задание опций программы
      • 204 3.3.1. Использование опций в командной строке
      • 206 3.3.2. Использование файлов опций
      • 210 3.3.3. Использование переменных окружения для задания опций
      • 210 3.3.4. Использование опций для установки программных переменных
  • 212 Глава 4. Администрирование баз данных
    • 212 4.1. Сервер MySQL и сценарии запуска сервера
      • 212 4.1.1. Обзор серверных сценариев и утилит
      • 213 4.1.2. Расширенный MySQL-сервер mysqld-max
      • 215 4.1.3. Сценарий запуска сервера mysqld_safe
      • 218 4.1.4. Сценарий запуска сервера mysql.server
      • 219 4.1.5. Программа mysqld_multi для управления множественными MySQL-серверами
    • 223 4.2. Конфигурирование сервера MySQL
      • 223 4.2.1. Опции командной строки mysqld
      • 232 4.2.2. Режим SQL сервера
      • 234 4.2.3. Системные переменные сервера
      • 260 4.2.4. Переменные состояния сервера
    • 265 4.3. Общие проблемы безопасности
      • 265 4.3.1. Общие принципы, касающиеся безопасности системы
      • 268 4.3.2. Как защитить MySQL от хакеров
      • 270 4.3.3. Опции запуска для mysqld, касающиеся безопасности
      • 271 4.3.4. Вопросы безопасности и оператор LOAD DATA LOCAL
    • 272 4.4. Система привилегий доступа MySQL
      • 272 4.4.1. Функции системы привилегий
      • 273 4.4.2. Как работает система привилегий
      • 277 4.4.3. Привилегии, предоставляемые MySQL
      • 281 4.4.4. Подключение к серверу MySQL
      • 282 4.4.5. Управление доступом, этап первый: верификация подключения
      • 286 4.4.6. Управление доступом, этап второй: верификация запросов
      • 289 4.4.7. Когда изменения в привилегиях вступают в силу
      • 289 4.4.8. Причины появления ошибок отказа в доступе (Access denied)
      • 295 4.4.9 Хеширование паролей в MySQL 4.1
    • 301 4.5. Управление учетными записями пользователей MySQL
      • 301 4.5.1. Имена пользователей и пароли в MySQL
      • 303 4.5.2. Добавление новых учетных записей в MySQL
      • 306 4.5.3. Удаление пользовательских учетных записей из MySQL
      • 307 4.5.4. Ограничение ресурсов учетной записи
      • 309 4.5.5. Назначение паролей для учетных записей
      • 310 4.5.6. Как обезопасить свой пароль
      • 311 4.5.7. Использование безопасных соединений
    • 318 4.6. Предотвращение аварий и восстановление системы
      • 318 4.6.1. Резервное копирование баз данных
      • 320 4.6.2. Обслуживание и восстановление таблиц после аварий
      • 333 4.6.3. Установка графика обслуживания таблиц
      • 334 4.6.4. Как получить информацию о таблице
    • 340 4.7. Локализация MySQL и интернациональное применение
      • 340 4.7.1. Набор символов для представления данных и сортировки
      • 341 4.7.2. Установка языка сообщений об ошибках
      • 342 4.7.3. Добавление нового набора символов
      • 343 4.7.4. Массивы определения символов
      • 344 4.7.5. Поддержка функций по упорядочиванию строк
      • 344 4.7.6. Поддержка многобайтных символов
      • 344 4.7.7. Проблемы с наборами символов
    • 345 4.8. Журнальные файлы MySQL
      • 346 4.8.1. Журнал ошибок
      • 346 4.8.2. Общий журнал запросов
      • 347 4.8.3. Журнал регистрации обновлений
      • 348 4.8.4. Бинарный журнал регистрации
      • 351 4.8.5. Журнал медленных запросов
      • 351 4.8.6. Обслуживание журнальных файлов
    • 352 4.9. Запуск нескольких серверов MySQL на одном и том же компьютере
      • 354 4.9.1. Запуск нескольких серверов в Windows
      • 358 4.9.2. Запуск нескольких серверов под Unix
      • 359 4.9.3. Использование клиентских программ в окружении с несколькими серверами
    • 360 4.10. Кэш запросов MySQL
      • 361 4.10.1. Как работает кэш запросов
      • 362 4.10.2. Опции SELECT для кэша запросов
      • 362 4.10.3. Конфигурирование кэша запросов
      • 363 4.10.4. Состояние кэша запросов и его обслуживание
  • 365 Глава 5. Репликация в MySQL
    • 365 5.1. Введение в репликацию
    • 366 5.2. Обзор реализации репликации
    • 367 5.3. Детали реализации процесса репликации
      • 369 5.3.1. Состояние потока репликации главного сервера
      • 369 5.3.2. Состояние потока репликации ввода/вывода подчиненного сервера
      • 371 5.3.3. Состояние потока SQL репликации подчиненного сервера
      • 371 5.3.4. Журнал ретрансляции и файлы состояния
    • 373 5.4. Настройка репликации
    • 378 5.5. Совместимость репликации между версиями MySQL
    • 378 5.6. Модернизация установок репликации
      • 379 5.6.1. Модернизация репликации до версии 4.0 или 4.1
      • 379 5.6.2. Модернизация репликации до версии 5.0
    • 380 5.7. Возможности репликации и известные проблемы
    • 384 5.8. Опции запуска репликации
    • 393 5.9. Часто задаваемые вопросы по репликации
    • 399 5.10. Поиск неисправностей в системе репликации
    • 400 5.11. Сообщения об ошибках репликации
  • 402 Глава 6. Оптимизация MySQL
    • 402 6.1. Обзор оптимизации
      • 403 6.1.1. Ограничения и компромиссы конструкции MySQL
      • 403 6.1.2. Проектирование переносимых приложений
      • 405 6.1.3. Для чего мы использовали MySQL
      • 405 6.1.4. Набор тестов производительности MySQL
      • 406 6.1.5. Использование собственных тестов производительности
    • 407 6.2. Оптимизация операторов SELECT и других запросов
      • 408 6.2.1. Синтаксис оператора EXPLAIN (получение информации о SELECT)
      • 415 6.2.2. Ожидаемая производительность запросов
      • 416 6.2.3. Скорость выполнения запросов SELECT
      • 416 6.2.4. Как MySQL оптимизирует конструкцию WHERE
      • 418 6.2.5. Как MySQL оптимизирует выражения OR
      • 419 6.2.6. Как MySQL оптимизирует IS NULL
      • 419 6.2.7. Как MySQL оптимизирует DISTINCT
      • 420 6.2.8. Как MySQL оптимизирует LEFT JOIN и RIGHT JOIN
      • 421 6.2.9. Как MySQL оптимизирует ORDER BY
      • 423 6.2.10. Как MySQL оптимизирует LIMIT
      • 424 6.2.11. Как избежать сканирования таблиц
      • 424 6.2.12. Скорость выполнения запросов INSERT
      • 426 6.2.13. Скорость выполнения запросов UPDATE
      • 427 6.2.14. Скорость выполнения запросов DELETE
      • 427 6.2.15. Другие советы по оптимизации
    • 430 6.3. Вопросы блокировки
      • 430 6.3.1. Методы блокировки
      • 433 6.3.2. Вопросы блокировки таблиц
    • 435 6.4. Оптимизация структуры базы данных
      • 435 6.4.1. Конструкторские решения
      • 435 6.4.2. Делайте объем данных как можно меньше
      • 436 6.4.3. Индексы столбцов
      • 437 6.4.4. Составные индексы
      • 438 6.4.5. Как MySQL использует индексы
      • 441 6.4.6. Кэш ключей MyISAM
      • 446 6.4.7. Как MySQL подсчитывает открытые таблицы
      • 446 6.4.8. Как MySQL открывает и закрывает таблицы
      • 447 6.4.9. Недостатки создания множества таблиц в одной базе данных
    • 448 6.5. Оптимизация сервера MySQL
      • 448 6.5.1. Настройка параметров системы и запуска
      • 449 6.5.2. Настройка параметров сервера
      • 451 6.5.3. Как компиляция и компоновка влияют на скорость MySQL
      • 453 6.5.4. Как MySQL использует память
      • 454 6.5.5. Как MySQL использует DNS
    • 455 6.6. Вопросы использования дисков
      • 456 6.6.1. Использование символических ссылок
  • 460 Глава 7. Клиентские программы и утилиты MySQL
    • 460 7.1. Обзор сценариев и утилит клиентской стороны
    • 461 7.2. myisampack - генератор сжатых таблиц MySQL, доступных только для чтения
    • 467 7.3. Инструмент командной строки mysql
      • 471 7.3.1. Команды mysql
      • 475 7.3.2. Запуск SQL-операторов из текстового файла
      • 476 7.3.3. Советы по mysql
    • 477 7.4. Программа администрирования MySQL-сервера mysqladmin
    • 480 7.5. Утилита работы с бинарными журналами mysqlbinlog
    • 483 7.6. Центр управления MySQL - mysqlcc
    • 485 7.7. Программа обслуживания и восстановления таблиц mysqlcheck
    • 487 7.8. Программа резервного копирования баз данных mysqldump
    • 492 7.9. Программа резервного копирования базы данных mysqhotcopy
    • 493 7.10. Программа импорта данных mysqlimport
    • 495 7.11. Программа просмотра баз данных, таблиц и столбцов mysqlshow
    • 497 7.12. Утилита объяснения кодов ошибок perror
    • 497 7.13. Утилита замены строк replace
  • 498 Глава 8. Механизмы хранения и типы таблиц в MySQL
    • 500 8.1. Механизм хранения MyISAM
      • 502 8.1.1. Опции запуска MyISAM
      • 504 8.1.2. Пространство, необходимое для ключей
      • 504 8.1.3. Форматы хранения данных в таблицах MyISAM
      • 507 8.1.4. Проблемы, связанные с таблицами MyISAM
    • 509 8.2. Механизм хранения MERGE
      • 511 8.2.1. Проблемы, связанные с таблицами MERGE
    • 513 8.3. Механизм хранения данных MEMORY (HEAP)
    • 515 8.4. Механизм хранения данных BDB (BerkleyDB)
      • 516 8.4.1. Операционные системы, поддерживающие BDB
      • 516 8.4.2. Установка BDB
      • 517 8.4.3. Опции запуска BDB
      • 517 8.4.4. Характеристики таблиц BDB
      • 520 8.4.5. Что должно быть исправлено в механизме хранения BDB
      • 520 8.4.6. Ограничения при использовании таблиц BDB
      • 520 8.4.7. Ошибки, которые могут возникать при использовании таблиц BDB
    • 521 8.5. Механизм хранения ISAM
  • 523 Глава 9. Механизм хранения InnoDB
    • 523 9.1. Обзор InnoDB
    • 524 9.2. Контактная информация, касающаяся InnoDB
    • 524 9.3. Таблицы InnoDB в MySQL 3.23
    • 525 9.4. Конфигурация InnoDB
    • 530 9.5. Опции запуска InnoDB
    • 534 9.6. Создание табличного пространства InnoDB
      • 535 9.6.1. Проблемы, связанные с инициализацией InnoDB
    • 535 9.7. Создание таблиц InnoDB
      • 536 9.7.1. Как использовать транзакции InnoDB в разных API-интерфейсах
      • 537 9.7.2. Преобразование таблиц MyISAM в формат InnoDB
      • 538 9.7.3. Как работают столбцы AUTO_INCREMENT в InnoDB
      • 539 9.7.4. Ограничения внешнего ключа (FOREIGN KEY)
      • 543 9.7.5. InnoDB и репликация в MySQL
      • 544 9.7.6. Использование табличного пространства для каждой таблицы
    • 546 9.8. Добавление и удаление файлов данных и файлов журналов InnoDB
    • 547 9.9. Создание резервных копий и восстановление базы данных InnoDB
      • 548 9.9.1. Принудительное восстановление
      • 550 9.9.2. Контрольные точки
    • 550 9.10. Перенос базы данных InnoDB на другой компьютер
    • 551 9.11. Транзакционная модель InnoDB и блокирование
      • 551 9.11.1. InnoDB и режим автоматической фиксации AUTOCOMMIT
      • 551 9.11.2. InnoDB и уровень изоляции транзакций (TRANSACTION ISOLATION LEVEL)
      • 553 9.11.3. Согласованное чтение без блокировки
      • 554 9.11.4. Чтения с блокировкой: SELECT... FOR UPDATE и SELECT... LOCK IN SHARE MODE
      • 555 9.11.5. Блокировка следующего ключа: устранение «проблемы с фантомом»
      • 556 9.11.6. Пример работы согласованного чтения в InnoDB
      • 557 9.11.7. Блокировка, устанавливаемая различными SQL-операторами в InnoDB
      • 558 9.11.8. В каких случаях MySQL явно выполняет фиксацию или откат транзакции
      • 559 9.11.9. Обнаружение взаимных блокировок и откат
      • 559 9.11.10. Как справляться с взаимными блокировками
    • 561 9.12. Советы по настройке производительности InnoDB
      • 563 9.12.1. SHOW INNODB STATUS и мониторы InnoDB
    • 568 9.13. Реализация многовариантности
    • 568 9.14. Структуры таблиц и индексов
      • 569 9.14.1. Физическая структура индекса
      • 569 9.14.2. Буферизация вставок
      • 570 9.14.3. Адаптивный хешированный индекс
      • 570 9.14.4. Физическая структура записи
    • 571 9.15. Управление файловым пространством и дисковый ввод-вывод
      • 571 9.15.1. Дисковый ввод-вывод
      • 572 9.15.2. Использование низкоуровневых устройств для табличного пространства
      • 572 9.15.3. Управление файловым пространством
      • 573 9.15.4. Дефрагментация таблицы
    • 574 9.16. Обработка ошибок
      • 574 9.16.1. Коды ошибок InnoDB
      • 575 9.16.2. Коды ошибок операционной системы
    • 577 9.17. Ограничения таблиц InnoDB
    • 579 9.18. Поиск и устранение неполадок в InnoDB
      • 580 9.18.1. Поиск и устранение неполадок в операциях словаря данных InnoDB
  • 582 Глава 10. Введение в MaxDB
    • 582 10.1. История MaxDB
    • 282 10.2. Лицензирование и поддержка
    • 583 10.3. Ссылки, касающиеся MaxDB
    • 583 10.4. Базовые концепции MaxDB
    • 583 10.5. Отличия возможностей MaxDB и MySQL
    • 584 10.6. Средства взаимодействия между MaxDB и MySQL
    • 584 10.7. Зарезервированные слова MaxDB
  • 588 Приложение А. Поиск и устранение неполадок в программах MySQL
    • 588 А.1. Как определить причину проблемы
    • 590 А.2. Наиболее общие ошибки при работе с программами MySQL
      • 590 А.2.1. Доступ запрещен
      • 590 А.2.2. Невозможно подключиться к [локальному] серверу MySQL
      • 592 А.2.3. Клиент не поддерживает протокол аутентификации
      • 593 А.2.4. Пароль не принимается при интерактивном вводе
      • 593 А.2.5. Хост «имя_хоста» заблокирован
      • 594 А.2.6. Слишком много подключений
      • 594 А.2.7. Недостаточно памяти
      • 594 А.2.8. Сервер MySQL потерян
      • 595 А.2.9. Слишком большой пакет
      • 597 А.2.10. Ошибки связи и прерванные соединения
      • 598 А.2.11. Переполнение таблицы
      • 598 А.2.12. Невозможно создать/записать файл
      • 599 А.2.13. Команды не синхронизированы
      • 599 А.2.14. Игнорируется пользователь
      • 599 А.2.15. Таблица «имя_таблицы» не существует
      • 600 А.2.16. Невозможно инициализировать набор символов
      • 600 А.2.17. Файл не найден
    • 601 А.3. Вопросы, связанные с установкой
      • 601 А.3.1. Проблемы компоновки клиентской библиотеки MySQL
      • 603 А.3.2. Как запускать MySQL от имени обычного пользователя
      • 603 А.3.3. Проблемы с правами доступа к файлам
    • 604 А.4. Вопросы, касающиеся администрирования
      • 604 А.4.1. Как сбросить пароль для root
      • 606 А.4.2. Что делать, если MySQL терпит крах
      • 609 А.4.3. Как MySQL обрабатывает переполнение диска
      • 609 А.4.4. Где MySQL хранит временные файлы
      • 610 А.4.5. Как защитить или изменить файл сокета MySQL /tmp/mysql.sock
      • 611 А.4.6. Проблемы с временными зонами
  • 612 Приложение Б. Переменные окружения
  • 614 Предметный указатель

Инструкция как скачать книгу Компания MySQL AB: MySQL. Руководство администратора в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
MySQL. Руководство администратора
Рейтинг книги:
0 голосов
119

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: