2013-06-03 4 views
1

Как я могу поместить базу данных MySQL в однопользовательский режим? Или даже лучше, только в режиме чтения.Можно ли разместить базу данных MySQL в однопользовательском режиме?

Я использую select * into outputfile в стороне MySQL и bcp in в стороне Sybase для передачи данных, и я хочу, чтобы они были одинаковыми с обеих сторон. Итак, мне нужна база данных, чтобы оставаться неизменной.

Возможно ли это?

+1

Надеется, что это помогает ... http://stackoverflow.com/questions/886209/how-to-exclusive-lock-mysql-database –

ответ

3

Выдать FLUSH TABLES WITH READ LOCK заявление, прежде чем начать сбрасывать, см http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html для получения дополнительной информации.

С образом расположенной ссылки:

MySQL позволяет сеансы клиентов приобретать табличные блокировки явным образом с целью сотрудничества с другими сессиями для доступа к таблицам или , чтобы предотвратить другие сеансы от изменения таблиц в периоды, когда сессия требует эксклюзивного доступа к ним. Сеанс может приобретать или выпускать блокировки только для себя. Один сеанс не может получить блокировки для другого сеанса или блокировки релиза, проводимые другим сеансом.

1

вы можете добавить read_only=1 к my.cnf поставить MySQL в режим только для чтения

в качестве альтернативы, вы можете также SET GLOBAL read_only=1;

+0

Это не блокирует базу данных записи, если он является рабом базой данных. Простым решением было бы просто выдать оператор LOCK TABLES во время выполнения операции. – Geoffrey

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