2009-06-03 2 views
23

Я использую MySQL 5.0.67 на RHEL5 и основываю свою конфигурацию на my-huge.cnf.MySQL - что делает skip-locking в my.cnf?

Я ничего не могу найти в руководстве по MySQL для строки «skip-locking», которая появляется в файле конфигурации.

Если это необходимо заменить на «skip_external_locking» или мне нужно просто удалить строку целиком, как сейчас.

MySQL Manual for skip-external-locking

Спасибо.

ответ

25

см http://dev.mysql.com/doc/refman/5.0/en/external-locking.html

цитата:

Если запустить несколько серверов, которые используют один и тот же каталог базы данных (не рекомендуется), каждый сервер должен быть включен внешний замок.

Это действительно связано с опасностями, проявляемыми несколькими процессами, обращающимися к тем же данным. Во многих ситуациях СУБД вы хотите заблокировать таблицу/строку перед выполнением операции и затем разблокировать ее. Это необходимо для предотвращения возможного повреждения данных.

Edit: см http://dev.mysql.com/doc/refman/4.1/en/news-4-0-3.html Цитата

Переименован --skip-замок для --skip-внешний-замок.

+0

Спасибо, но это skip_external_locking. Я хотел бы знать, является ли «skip-locking» одним и тем же, и если это необходимо в конфигурационном файле, потому что он уже по умолчанию? – Richard

+0

под редакцией. это было просто переименование –

+2

Еще раз спасибо, поэтому подведем итог - строка «skip-locking» файла конфигурации может быть удалена, потому что: а) она устарела, переменная была переименована. б) это поведение по умолчанию в любом случае – Richard

0

Дополнительное примечание для тех, кто не по ссылке предоставленной Fingland: @ Джонатан
8.7.4. External Locking

Этот параметр применяется только к таблицам MyISAM.

Как указывал Ричард, внешняя блокировка по умолчанию отключена. Вам необходимо включить внешнюю блокировку, если вы используете myisamchk для операций записи или используете myisampack для упаковки таблиц.

Из документов:

Если вы используете затсЫс для выполнения работ по техническому обслуживанию таблицы на MyISAM таблиц, необходимо либо убедиться, что сервер не работает, или что сервер внешний замок с поддержкой, так что он блокирует файлы таблиц по мере необходимости для координации с myisamchk для доступа к таблицам. То же самое верно для использования myisampack для упаковки таблиц MyISAM.

Если вы используете затсЫс для операций записи, таких как ремонт или оптимизирующих таблиц, или если вы используете myisampack упаковать таблицы, вы должны всегда убедитесь, что сервер туздЫ не использует таблицу. Если вы не останавливаете mysqld, вы должны хотя бы сделать mysqladmin flush-tables перед запуском myisamchk. Ваши таблицы могут стать поврежденными, если сервер и myisamchk будут обращаться к таблицам одновременно.

Смежные вопросы