Автор Тема: MySQL  (Прочетена 1909 пъти)

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
MySQL
« -: Jun 14, 2005, 23:19 »
Добър вечер.

Имам следния тъп проблем - на машината ми се клати mysql, но често се случва да се рестартира или изключва компютъра от копчето и при такава ситуация последните промени в базата се губят. Поради каква именно причина би могла да става таз мизерия и как може да се предотврати ми е питането.

Благодаря предварително на всички, които са си загубили времето да му четат простотиите.

debian sarge
kernel 2.6.5 custom
mysql 4.0.23
базата е с myisam таблици
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3182
    • Профил
MySQL
« Отговор #1 -: Jun 15, 2005, 08:37 »
Сигурно може да се каже на сървъра да записва на диска всяка промяна в данните веднага (инъче те стоят в разните кешове (не)известно време), но според мен не това е решението - ти винаги можеш да го изненадаш и да го ресетнеш баш като пише. По този начин можеш да изгубиш не само данни от MySQL, но и да си навлечеш и други неприятности, така че - не го спирай/ресетвай по този начин.
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
MySQL
« Отговор #2 -: Jun 15, 2005, 10:34 »
Номера е друг - на мене ми е пределно ясно, че не бива да се спира или рестартира така, обаче не мога да го обясня на сина ми, който е на година и 8 месеца почти. Доставя му адски кеф да ръчка копчетата на компа.

Освен това си мисля, че би трябвало да има решение за тоз проблем, т.к. винаги може да се случи да спре тока, да гръмне захранването или нещо от тоя род и не би било много желателно да се загубят данни при такава ситуация.

Така че - ако някой има идеи - моля да сподели.
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3182
    • Профил
MySQL
« Отговор #3 -: Jun 15, 2005, 10:37 »
Откачаш кабелите от лицевия панел към дъното, ... слагаш UPS, ...  '<img'> , даваш на сина си една клавиатура и всеки път, когато натисне бутон викаш "Недей, моля те недей!!!" и той (и ти) се кефите максимално  '<img'>  '<img'>  '<img'>
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

dope_hat

  • Напреднали
  • *****
  • Публикации: 131
    • Профил
    • WWW
MySQL
« Отговор #4 -: Jun 17, 2005, 19:56 »
Да ви кажа честно, този проблем го имам и аз със един от сървърите. Машината има mySQL ( ver. 3.23.49 ) и когато спре тока или се рестартира хардуерно, се троши базата зверски.
Но имам следните наблюдения:
Машината не е с много мощен хардуер, и самата версия на mySQL е стара ( 3.23.49 ). Процесора е AMD Athlon 1700+ върви на 1400 със 256 РАМ. OS - Debian.
Проведените тестове на моята машина която е малко по - слаба от тази AMD - 1000 със 256 РАМ, OS - FreeBSD 5.4 със версия на mySQL 14.7 Distrib 5.0.2-alpha го няма изобщо този проблем. При други машини със по - нова версия на базата от по-горепосочената също го няма този проблем. Логично достигам до извода, че просто това си идва от версиите.
Не твърдя че проблема се състои само във версиите, понеже може и да е хардуер ( хард или нещо друго ). Но това е което съм тествал аз и каквото съм видял =)
Ще е интересно да намерим вид разрешение на проблема.

P.S Тестове са правени и със Slackware 10.0 и последна стейбъл версия на mySQL. Резултатите са че пак не се чупи базата. Което пък вече ме навежда на мисълта че просто има хардуерен проблем и той идва от HDD.
Активен

FreeBSD:The Power To Serve

Йордан

  • Напреднали
  • *****
  • Публикации: 1451
  • Distribution: Ubuntu / Gentoo
  • Window Manager: Gnome
  • не е важно колко ти е голяма пишката, а какво можеш с нея
    • Профил
    • WWW
MySQL
« Отговор #5 -: Jun 17, 2005, 20:15 »
dope_hat можеш ли да кажеш какви са файловите системи ?
Активен

Всеки пост - отговор на въпрос !!!

Йордан Георгиев
http://ygeorgiev.net/

  • Гост
MySQL
« Отговор #6 -: Jun 17, 2005, 21:01 »
значи според мен проблема е в:
1. клиентския софтуер който ползва MySQL-а
2. файловата система - някъде бях чел че е хубаво /var дяла да е с ext2

от две години в нашата фирма работи точно MySQL 3.23.49 на P3-900MHz - 256 RAM - ext2 fs Mandrake 8.2 (не е смешно), за този период е гаснал тока 3-4 пъти но БД не се е чупила (да чукна на дърво). Клиентския софтуер обаче след всяка комплексна операция (няколко запитвания) затваря курсора и ДБ:
на Python:
db = MySQLdb.connect(....)
c=db.cusror()
....
c.close()
db.close
Активен

Йордан

  • Напреднали
  • *****
  • Публикации: 1451
  • Distribution: Ubuntu / Gentoo
  • Window Manager: Gnome
  • не е важно колко ти е голяма пишката, а какво можеш с нея
    • Профил
    • WWW
MySQL
« Отговор #7 -: Jun 17, 2005, 21:08 »
Цитат (Guest @ Юни 17 2005,22:01)
значи според мен проблема е в:
1. клиентския софтуер който ползва MySQL-а
2. файловата система - някъде бях чел че е хубаво /var дяла да е с ext2

от две години в нашата фирма работи точно MySQL 3.23.49 на P3-900MHz - 256 RAM - ext2 fs Mandrake 8.2 (не е смешно), за този период е гаснал тока 3-4 пъти но БД не се е чупила (да чукна на дърво). Клиентския софтуер обаче след всяка комплексна операция (няколко запитвания) затваря курсора и ДБ:
на Python:
db = MySQLdb.connect(....)
c=db.cusror()
....
c.close()
db.close

ext2 не е журнална файлова система или се лъжа ?  Според мене е по-логично да е ext3, reiserfs или някоя друга журнална. Аз за това попитах какви са файловите системи, защото имах съмнение, че не са журнални и за това се чупи базата
Активен

Всеки пост - отговор на въпрос !!!

Йордан Георгиев
http://ygeorgiev.net/

  • Гост
MySQL
« Отговор #8 -: Jun 17, 2005, 21:16 »
Цитат (GigaVolt @ Юни 17 2005,22:08)
ext2 не е журнална файлова система или се лъжа ?  Според мене е по-логично да е ext3, reiserfs или някоя друга журнална. Аз за това попитах какви са файловите системи, защото имах съмнение, че не са журнални и за това се чупи базата

не, не е журнална, по него време тя не беше разпространена много...
Но точно журналните системи май чупят таблиците на сървъра...
Активен

dope_hat

  • Напреднали
  • *****
  • Публикации: 131
    • Профил
    • WWW
MySQL
« Отговор #9 -: Jun 18, 2005, 12:30 »
Файловата система на Дебиан-а е ReiserFS , на Slackware беше също такава. Според мен проблема не идва от там. Преди 1-2 месеца имах ситуация, единия от сървърите беше на място където в продължение на една - две седмици, тока спираше внезапно, хардуерен рестарт претърпяваше от време на време, накрая проблема идваше от големите амплитуди които даваше контакта ( от 200 V падаше на 120 или пък рязко се качваше на 230 - 240 V слава богу нищо не успя да изгори ), но въпреки всичко това mySQL на машината не се чупеше. Там файловата система беше ext3 сега е ReiserFS, и се държи много добре.
Това са ми дотук наблюденията.
Активен

FreeBSD:The Power To Serve

zeridon

  • Killmode enabled
  • Administrator
  • Напреднали
  • *****
  • Публикации: 1398
  • Distribution: Debian/Ubuntu
  • Window Manager: console/Gnome
  • BOfH
    • Профил
    • WWW
MySQL
« Отговор #10 -: Jun 18, 2005, 13:34 »
Ако не клатиш някакъв огромен трафик през базата в my.cnf закоментирай skip-locking Така ще ти заключва файловете по харда което комбинирано с журнал помга при такива ситуации
Ако не се лъжа имаше и опция implicit-flush или нещо подобно.

Също така при гаснене на токата базата се чупи доста честичко ако приложението използва persistent connections.
Активен

Внмимавай имам клещи за кабел
http://www.netsecad.com/
http://theregister.co.uk/odds/bofh/

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
MySQL
« Отговор #11 -: Jun 18, 2005, 19:22 »
Благодаря на всички за интереса и отговорите.

Сега - файловата система е ext3 на дяла където е базата. Клиента е php, като връзките се затварят след съответните заявки. Не се използват persistent connections. Проблема мисля, че не е хардуерен, т.к. важи само за mysql - т.е. нищо друго не се чупи, само базата. Натоварването на сървъра е доста скромно може да се каже.

Това с implicit-flush и skip-locking ще го погледна, дано свърши работа. Благодаря за съветите.
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
MySql малък проблем.
Хардуерни и софтуерни проблеми
Marto 6 8901 Последна публикация Sep 25, 2002, 12:32
от
mysql въпрос
Настройка на програми
dumi 0 2188 Последна публикация Oct 08, 2003, 06:42
от dumi
Perl + CGI,DBI + Mysql ili PHP + Mysql
Общ форум
jica 3 8922 Последна публикация Sep 07, 2004, 17:02
от jica
Mysql проблем със стартирането(mysql.sock missing)
Настройка на програми
coveka 6 11181 Последна публикация Mar 01, 2008, 22:02
от coveka
Mysql: can't connect to local mysql server
Настройка на програми
wonder 1 9848 Последна публикация Mar 16, 2008, 01:17
от neter