Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / востановление таблицы в БД / 11 сообщений из 11, страница 1 из 1
17.07.2013, 23:21
    #38334885
forward12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
Всем привет.
Иногда из БД исчезает таблица, иногда парочку. Сильно прожорливые скрипты, иногда БД не вытягивает все запросы и старая таблица удаляется а новая не успевает появится. И так и не появляется.
Вобщем написал скрипт и повешал его на крон.
ЧТобы скрипт востанавливал таблицу.
Но получилась другая проблема, скрипт в таблицу добавляет дубликаты. Т.е. каждый день вставляет одно и тоже.
Хотя внутри скрипта стоит проверка содержимого таблицы.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
	try {
	$sth = $db->prepare("select count(cod) from mytable"); 
	
	$sth->execute();
	$row = $sth->fetch();
	$x=$row[0];
	echo $x;


} catch (Exception $e) {
    echo $e->getMessage(); //выведет либо сообщение об ошибке подключения, либо об ошибке выбора

}

if (strlen($x)>0) die();
if (strlen($x)==0)
				{
				echo "no table<br>";
	$sth = $db->prepare("CREATE TABLE `mytable` ")
	$sth->execute();
	//################################################			
	$sth = $db->prepare(" insert into mytable");
	$sth->execute();
	echo "<br>data inserted<br>";
				}


Вот код, мускульный запросы упрощенны
...
Рейтинг: 0 / 0
18.07.2013, 00:00
    #38334902
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
forward12Иногда из БД исчезает таблица, иногда парочку. Сильно прожорливые скрипты, иногда БД не вытягивает все запросы и старая таблица удаляется а новая не успевает появится.Эт с чего вдруг таблицы исчезают и с чего должны появиться?
...
Рейтинг: 0 / 0
18.07.2013, 05:06
    #38334997
st_st
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
Сама по себе чтоль исчезает? Бывает конечно, таблицы в mysql ломаются сами по себе, но REPAIR TABLE всегда помогал, а чтоб сама исчезла и появилась - не видел :)
...
Рейтинг: 0 / 0
18.07.2013, 10:50
    #38335160
forward12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
Там скрипт работает, который парочку таблиц удаляет каждый день. А потом создает их заново на основе свежих данных.
...
Рейтинг: 0 / 0
18.07.2013, 11:09
    #38335212
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
А никак нельзя сделать очистку таблиц вместо удаления?

PS: Движок MyISAM? Могу предположить что таблицы очень большие, запрос на удаление проходит, но файловая система еще не успела удалить файлы к моменту создания таблиц. Ну и возникает ошибка при создании. Возможно, пауза в несколько секунд поможет.

PPS: Может быть будет более правильным перенести топик в профильный форум по MySQL?
...
Рейтинг: 0 / 0
18.07.2013, 12:56
    #38335419
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
forward12Там скрипт работает, который парочку таблиц удаляет каждый день. А потом создает их заново на основе свежих данных.
Может будет проще переименовать старые таблицы, создать новые и залить данные, в конце скрипта удалить все ненужные таблицы.
...
Рейтинг: 0 / 0
18.07.2013, 18:43
    #38336115
forward12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
vkleА никак нельзя сделать очистку таблиц вместо удаления?

PS: Движок MyISAM? Могу предположить что таблицы очень большие, запрос на удаление проходит, но файловая система еще не успела удалить файлы к моменту создания таблиц. Ну и возникает ошибка при создании. Возможно, пауза в несколько секунд поможет.

PPS: Может быть будет более правильным перенести топик в профильный форум по MySQL?
Движек MyISAM, таблицы действительно большие. В общей сложности во всех таблицах 2 ГБ.
Файловая система действительно глючит. Просто не хочу оригинальный скрипт на перл переписовать. Там кода достаточно много.
Вот и создал свой компактный пхп скрипт чтобы постанавливать отдельную таблицу.
...
Рейтинг: 0 / 0
18.07.2013, 20:34
    #38336194
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
forward12Просто не хочу оригинальный скрипт на перл переписовать. Там кода достаточно много.Проблемно заменить два запроса на один или добавить строчку с паузой?
...
Рейтинг: 0 / 0
18.07.2013, 20:48
    #38336201
INSERT IGNORE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
авторНо получилась другая проблема, скрипт в таблицу добавляет дубликаты. Т.е. каждый день вставляет одно и тоже.
http://ekimoff.ru/214/

P.S. хотя, рекомендую прислушаться к предыдущим советам!
...
Рейтинг: 0 / 0
18.07.2013, 20:48
    #38336202
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
Хотя, может быть, два запроса на два - очистка таблицы и оптимизация
...
Рейтинг: 0 / 0
22.07.2013, 12:56
    #38338889
forward12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
востановление таблицы в БД
Спасибо всем за ответы. Уже 4 дня подряд скрипт работает нормально.
как я понял нагрузка на сервер упала или еще какие факторы повлияли на работу БД. Теперь колизий уже нет.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / востановление таблицы в БД / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]