Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Копия рабочей базы, но с признаком только для чтения
 
 автор: Yuri2   (23.10.2008 в 13:25)   письмо автору
 
 

Добрый день.
Задался вопросом, может кто подскажет.
Есть рабочая база данных.
Необходимо сделать копию этой БД, но копия должна быть только для чтения.
Чтоб не тратить время на дополнение кода, обучать программу понимать какая база рабочая и какая только для чтения (архивная), можно ли в MySQL как-то отметить в базе, что-бы изменения не сохранялись (запросы Update, Insert и т.п. не выполнялись).
При этом управляющей программе не должен возвращаться код ошибки.

  Ответить  
 
 автор: cheops   (26.10.2008 в 09:37)   письмо автору
 
   для: Yuri2   (23.10.2008 в 13:25)
 

Не очень понятно, что вызывает сложности? Программа при помощи какого языка программирования создана и какова задача программы?

  Ответить  
 
 автор: Yuri2   (28.10.2008 в 10:44)   письмо автору
 
   для: cheops   (26.10.2008 в 09:37)
 

Приложение создано на VisualFoxPro работает с базой MySQL. Задачи программы - документооборот.

  Ответить  
 
 автор: ronin80   (28.10.2008 в 20:45)   письмо автору
 
   для: Yuri2   (28.10.2008 в 10:44)
 

так установите права для пользователя под которым происходит коннект к архивной базе

  Ответить  
 
 автор: Trianon   (28.10.2008 в 21:07)   письмо автору
 
   для: ronin80   (28.10.2008 в 20:45)
 

Человек хочет, чтобы запросы при этом успешно выполнялись.
Утопия.

  Ответить  
 
 автор: Yuri2   (29.10.2008 в 09:38)   письмо автору
 
   для: Trianon   (28.10.2008 в 21:07)
 

В interbase есть атрибут read_only, который позволяет делать базу только для чтения. Подумал что возможно в MySQL есть подобное 'расширение функционала'.

  Ответить  
 
 автор: Trianon   (29.10.2008 в 09:47)   письмо автору
 
   для: 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 - понятное дело, первичный ключ. Каков будет результат на живой и на придушенной базе?

  Ответить  
 
 автор: Yuri2   (29.10.2008 в 13:08)   письмо автору
 
   для: 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

  Ответить  
 
 автор: Trianon   (29.10.2008 в 13:16)   письмо автору
 
   для: Yuri2   (29.10.2008 в 13:08)
 

>Этот вопрос для другой темы "Как одно и тоже значение записать в первичный ключ два раза" :) .

Да ничего подобного. Две строки с одним значением в поле уникального ключа просто не создать.

В обычном режиме первый запрос будет выполнен успешно, второй - отвергнут по причине дубпиката в уникальном ключе, третий будет успешно выполнен и вернет единичку.

В read-only режиме что должен вернуть сервер?

Переменная эта может и используется. Но пока она установлена, запросы модификации сервер исполнять всяко не будет.

  Ответить  
 
 автор: ronin80   (29.10.2008 в 13:18)   письмо автору
 
   для: Yuri2   (29.10.2008 в 13:08)
 

мне кажется всё равно необходимо дорабатывать программу до режима "только для чтения"

>При этом управляющей программе не должен возвращаться код ошибки.

тут скорее всего всё равно будут сообщения сервера о невозможности редактирования/изменения, программа то будет пытаться изменить данные

но это всего лишь догадки, сам не пробовал :)

я думаю здесь проще добавить какой-то флаг (переменную) которая при загрузке программы делала бы компоненты доступа к бд (которые изменяют данные) read only

  Ответить  
 
 автор: Trianon   (29.10.2008 в 13:21)   письмо автору
 
   для: ronin80   (29.10.2008 в 13:18)
 

>я думаю здесь проще добавить какой-то флаг (переменную) которая при загрузке программы делала бы компоненты доступа к бд (которые изменяют данные) read only

Для этого достаточно подключиться другим пользователем (с правами только на SELECT)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования