|
|
|
| Добрый день.
Задался вопросом, может кто подскажет.
Есть рабочая база данных.
Необходимо сделать копию этой БД, но копия должна быть только для чтения.
Чтоб не тратить время на дополнение кода, обучать программу понимать какая база рабочая и какая только для чтения (архивная), можно ли в MySQL как-то отметить в базе, что-бы изменения не сохранялись (запросы Update, Insert и т.п. не выполнялись).
При этом управляющей программе не должен возвращаться код ошибки. | |
|
|
|
|
|
|
|
для: Yuri2
(23.10.2008 в 13:25)
| | Не очень понятно, что вызывает сложности? Программа при помощи какого языка программирования создана и какова задача программы? | |
|
|
|
|
|
|
|
для: cheops
(26.10.2008 в 09:37)
| | Приложение создано на VisualFoxPro работает с базой MySQL. Задачи программы - документооборот. | |
|
|
|
|
|
|
|
для: Yuri2
(28.10.2008 в 10:44)
| | так установите права для пользователя под которым происходит коннект к архивной базе | |
|
|
|
|
|
|
|
для: ronin80
(28.10.2008 в 20:45)
| | Человек хочет, чтобы запросы при этом успешно выполнялись.
Утопия. | |
|
|
|
|
|
|
|
для: Trianon
(28.10.2008 в 21:07)
| | В interbase есть атрибут read_only, который позволяет делать базу только для чтения. Подумал что возможно в MySQL есть подобное 'расширение функционала'. | |
|
|
|
|
|
|
|
для: Yuri2
(29.10.2008 в 09:38)
| | Давайте представим себе, что приложение издает последовательно следующие запросы:
INSERT INTO tbl (id) VALUES(25);
INSERT INTO tbl (id) VALUES(25);
SELECT COUNT(id) WHERE id=25;
|
id - понятное дело, первичный ключ. Каков будет результат на живой и на придушенной базе? | |
|
|
|
|
|
|
|
для: Trianon
(29.10.2008 в 09:47)
| | Этот вопрос для другой темы "Как одно и тоже значение записать в первичный ключ два раза" :) .
Насчёт read_only нашел информацию о том что такая переменная (read_only) в 5 Версии есть, но не работает, а в 5.1и 6 версиях MySQL она используется.
http://dev.mysql.com/doc/refman/5.1/en/replication-solutions-backups-read-only.html
http://dev.mysql.com/doc/refman/6.0/en/replication-solutions-backups-read-only.html | |
|
|
|
|
|
|
|
для: Yuri2
(29.10.2008 в 13:08)
| | >Этот вопрос для другой темы "Как одно и тоже значение записать в первичный ключ два раза" :) .
Да ничего подобного. Две строки с одним значением в поле уникального ключа просто не создать.
В обычном режиме первый запрос будет выполнен успешно, второй - отвергнут по причине дубпиката в уникальном ключе, третий будет успешно выполнен и вернет единичку.
В read-only режиме что должен вернуть сервер?
Переменная эта может и используется. Но пока она установлена, запросы модификации сервер исполнять всяко не будет. | |
|
|
|
|
|
|
|
для: Yuri2
(29.10.2008 в 13:08)
| | мне кажется всё равно необходимо дорабатывать программу до режима "только для чтения"
>При этом управляющей программе не должен возвращаться код ошибки.
тут скорее всего всё равно будут сообщения сервера о невозможности редактирования/изменения, программа то будет пытаться изменить данные
но это всего лишь догадки, сам не пробовал :)
я думаю здесь проще добавить какой-то флаг (переменную) которая при загрузке программы делала бы компоненты доступа к бд (которые изменяют данные) read only | |
|
|
|
|
|
|
|
для: ronin80
(29.10.2008 в 13:18)
| | >я думаю здесь проще добавить какой-то флаг (переменную) которая при загрузке программы делала бы компоненты доступа к бд (которые изменяют данные) read only
Для этого достаточно подключиться другим пользователем (с правами только на SELECT) | |
|
|
|