Категория: Администрирование баз данных (98)
| Администрирование баз данных » Поиск неисправностей репликации |
4.10.8 Поиск неисправностей репликации
Если вы следовали инструкциям, но установленный механизм репликации не работает, прежде всего следует искать пользовательские ошибки. Выполните следующие проверки:
Производит ли головной сервер записи в двоичный журнал? Проверьте это при помощи команды SHOW MASTER STATUS. Если да, значение Position будет отличным от нуля. Если нет, проверьте, запущен ли головной сервер с опцией log-bin и установлен ли server-id.
Запущен ли подчиненный сервер? Проверьте это при помощи команды SHOW SLAVE STATUS. Ответ находится в столбце Slave_running. Если нет, проверьте опции подчиненного сервера и просмотрите сообщения в журнале ошибок. |
|
теги: SLAVE, SHOW |
| |
| Администрирование баз данных » Часто задаваемые вопросы по репликации |
4.10.7 Часто задаваемые вопросы по репликации
Вопрос: Как сконфигурировать подчиненный сервер, если головной сервер уже запущен, и я не хочу его останавливать?
Ответ: Есть несколько возможностей. Если имеется резервная копия головного сервера в некоторой точке, имя двоичного журнала и сдвиг (от вывода SHOW MASTER STATUS), соответствующий образу, выполните следующие действия:
Удостоверьтесь, что подчиненному серверу назначен уникальный идентификатор. |
|
теги: MASTER |
| |
| Администрирование баз данных » SQL-команды, относящиеся к репликации |
4.10.6 SQL-команды, относящиеся к репликации
Управление репликацией производится командами SQL. Ниже приводится краткое описание команд:
Команда Описание
SLAVE START Запускает поток подчиненного сервера (подчиненный сервер)
SLAVE STOP Завершает поток подчиненного сервера (подчиненный сервер)
SET SQL_LOG_BIN=0 Блокирует ведение записей в журналах обновлений, если пользователь имеет привилегию SUPER. В противном случае ничего не выполняет (головной сервер) |
|
теги: SQL, SLAVE |
| |
| Администрирование баз данных » Опции репликации в файле `my.cnf\\' |
4.10.5 Опции репликации в файле `my.cnf'
Для использования репликации рекомендуется MySQL 3.23.30 или выше. С более ранними версиями тоже можно работать, но в них имеются ошибки и отсутствуют некоторые возможности. Если у вас не самая последняя версия MySQL, то в ней может не оказаться некоторых из упомянутых в данном разделе опций. Все опции, появившиеся в ветви 4.0, сопровождаются примечанием, в котором это указано. В противном случае, если интересующая вас опция не присутствует в версии 3.23, но действительно необходима, пожалуйста, замените версию на самую новую ветвь 3.23.
|
|
теги: MySQL |
| |
| Администрирование баз данных » Возможности репликации и известные проблемы |
4.10.4 Возможности репликации и известные проблемы
Ниже приводится список поддерживаемых и не поддерживаемых при репликации функций:
Реплицирование будет выполнено правильно при использовании значений AUTO_INCREMENT, LAST_INSERT_ID() и TIMESTAMP.
Если в обновлениях присутствует функция RAND(), реплицирование будет выполнено некорректно. При реплицировании обновлений с функцией RAND() применяйте RAND(some_non_rand_expr). В качестве аргумента (some_non_rand_expr - некоторое не случайное выражение) для функции RAND() можно, например, использовать функцию UNIX_TIMESTAMP().
На головном и подчиненном серверах следует использовать одинаковый набор символов (--default-character-set). В противном случае могут возникать ошибки дублирующихся ключей на подчиненном сервере, поскольку ключ, который считается уникальным на головном сервере, может не быть таковым при использовании другого набора символов. |
|
теги: LOAD, FLUSH |
| |
| Администрирование баз данных » Как настроить репликацию |
4.10.3 Как настроить репликацию
Здесь кратко описано как настроить полную репликацию вашего MySQL-сервера. Предполагается, что реплицироваться будут все базы данных и репликация ранее не настраивалась. Для того чтобы выполнить указанные здесь действия, вам придется на короткое время остановить головной сервер. |
|
теги: MySQL |
| |
| Администрирование баз данных » Как реализована репликация: обзор |
4.10.2 Как реализована репликация: обзор
Репликация в MySQL основывается на том, что все изменения базы данных (обновления, удаления и т.д.) протоколируются в двоичном журнале на сервере (see section 4.9.4 Бинарный журнал обновлений), а подчиненный сервер читает сохраненные запросы из двоичного журнала головного сервера и выполняет эти запросы на своей копии данных. |
|
теги: MySQL |
| |
| Администрирование баз данных » Введение |
4.10.1 Введение
К числу преимуществ, которые обеспечивает репликация, относится повышение скорости и надежности. Чтобы обеспечить надежность, можно установить две системы и при возникновении проблем с головным сервером переключаться на резервную копию. Для увеличения скорости можно перенаправлять те запросы, которые не обновляют данные, на сервер с копиями. Разумеется, это даст эффект лишь в том случае, если запросы, не обновляющие данные, преобладают, но, как правило, чаще всего так и бывает. |
|
теги: сервер |
| |
| Администрирование баз данных » Репликация в MySQL |
4.10 Репликация в MySQL
В этом разделе описаны различные функциональные возможности репликации в MySQL. Он может служить справочником по опциям, используемым при репликации. Здесь будет описан механизм репликации и показано, как реализовывать репликации. В конце раздела мы дадим ответы на некоторые часто задаваемые вопросы, а также описания проблем и способы их решения.
|
|
теги: MySQL |
| |
| Администрирование баз данных » Обслуживание файлов журналов |
4.9.6 Обслуживание файлов журналов
В MySQL предусмотрено наличие нескольких файлов журналов, позволяющих следить за всеми аспектами работы системы (see section 4.9 Файлы журналов MySQL). Правда, иногда приходится проверять, не занимают ли журналы лишнего места, и удалять ненужные.
При работе с журналами MySQL, вам, вероятнее всего, понадобится удалять их или создавать их резервные копии, и указывать MySQL записывать данные журналов в новые файлы (see section 4.4.1 Резервное копирование баз данных). |
|
теги: MySQL |
| |
| Администрирование баз данных » Журнал медленных запросов |
4.9.5 Журнал медленных запросов
При запуске с параметром --log-slow-queries[=file_name] mysqld создает файл журнала, в котором сохраняются данные обо всех командах SQL, на выполнение которых ушло больше времени, чем указано в значении параметра long_query_time. Время, уходящее на первоначальную блокировку таблиц, не включается во время исполнения запроса. |
|
теги: SQL |
| |
| Администрирование баз данных » Бинарный журнал обновлений |
4.9.4 Бинарный журнал обновлений
Бинарный журнал обновлений в скором времени должен полностью заменить журнал обновлений, так что мы рекомендуем вам как можно скорее перейти на его использование!
Бинарный журнал содержит всю информацию, имеющуюся в журнале обновлений, в более эффективном формате. В нем имеется информация и о времени выполнения каждого обновляющего базу запроса. |
|
теги: RESET |
| |
| Администрирование баз данных » Журнал обновлений (update) |
4.9.3 Журнал обновлений (update)
Обратите внимание: журнал обновлений (update) заменен бинарным журналом (binary) (see section 4.9.4 Бинарный журнал обновлений. С этим журналом можно производить те же операции, что и с журналом обновлений.
При запуске с ключом --log-update[=file_name] mysqld создает журнал, в который заносятся все команды SQL, обновляющие данные. Если имя файла не задано, по умолчанию ему присваивается имя хоста. Если файлу присвоено имя, не содержащее пути доступа к нему, этот файл сохраняется в каталоге с данными. |
|
теги: UPDATE |
| |
| Администрирование баз данных » Общий журнал запросов |
4.9.2 Общий журнал запросов
Если вы хотите знать обо всем, что происходит с mysqld, нужно запустить систему с ключом --log[=file]. После этого информация обо всех соединениях и запросах будет записываться в файл журнала (по умолчанию ему дается имя 'hostname'.log). Этот журнал может оказаться полезным, если вы подозреваете наличие ошибки в клиентском ПО и хотите выяснить, что, по мнению mysqld, клиент передал базе. |
|
теги: MySQL |
| |
| Администрирование баз данных » Журнал ошибок |
4.9.1 Журнал ошибок
Все ошибки mysqld записывает в stderr, который сценарий safe_mysqld перенаправляет в файл с именем 'hostname'.err (в Windows mysqld сохраняет его в каталоге `\mysql\data\mysql.err'). |
|
теги: mysqld |
| |
| Администрирование баз данных » Файлы журналов MySQL |
4.9 Файлы журналов MySQL
В MySQL имеется несколько журналов, позволяющих узнать, что происходит внутри mysqld:
Журнал Описание
Журнал ошибок В нем хранятся ошибки запуска, работы или завершения работы mysqld.
Журнал isam В нем хранится информация обо всех изменениях таблиц ISAM. Используется только при отладке кода isam.
Общий журнал запросов В нем хранится информация об установленных соединениях и выполненных запросах. |
|
теги: MySQL |
| |
| Администрирование баз данных » Как запускать SQL-команды из текстового файла |
4.8.10 Как запускать SQL-команды из текстового файла
Обычно клиент mysql используется в интерактивном режиме, например, следующим образом:
shell> mysql database
Однако вполне можно поместить SQL команды в текстовый файл и указать mysql считывать входные данные из этого файла. Для этого необходимо создать текстовый файл text_file, содержащий команды, которые предстоит выполнить. |
|
теги: SQL |
| |
| Администрирование баз данных » perror, разъяснение кодов ошибок |
4.8.9 perror, разъяснение кодов ошибок
Для большинства системных ошибок, помимо внутреннего текстового сообщения MySQL, можно также выводить номер кода системной ошибки в одном из следующих стилей: message ... (errno: #) или message ... (Errcode: #).
Выяснить, что данный код ошибки означает, можно либо путем изучения документации на данную систему, либо воспользовавшись возможностями утилиты perror. |
|
теги: MyISAM/ |
| |
| Администрирование баз данных » Просмотр баз данных, таблиц и столбцов |
4.8.8 Просмотр баз данных, таблиц и столбцов
Утилита mysqlshow позволяет кратко ознакомиться с существующими базами данных, их таблицами и столбцами таблиц.
Аналогичную информацию можно получить с помощью программы mysql, используя команду SHOW. See section 4.5.6 Синтаксис команды SHOW. |
|
теги: SHOW, shell |
| |
| Администрирование баз данных » mysqlimport, импорт данных из текстовых файлов |
4.8.7 mysqlimport, импорт данных из текстовых файлов
Утилита mysqlimport обеспечивает интерфейс командной строки для SQL-оператора LOAD DATA INFILE. Большинство параметров mysqlimport полностью соответствует аналогичным параметрам для оператора LOAD DATA INFILE. See section 6.4.9 Синтаксис оператора LOAD DATA INFILE.
Утилита mysqlimport вызывается следующим образом:
shell> mysqlimport [параметры] database textfile1 [textfile2 ...] |
|
теги: mysqlimport |
| |
Страницы: [ 1 ] - 2 - 3 - 4 - 5
|
|