Så fixar du en krashad MySQL-databas

2013-04-23 17:11

Flertalet gånger så har jag stött på problem då mysqld vägrar starta på grund av olika orsaker. Den absolut vanligaste orsaken är att hårddisken blivit full. Den näst vanligaste orsaken är att AppArmor gör DENIED då datakatalogen ligger utanför standardkatalogen för MySQL.

Men, om du nu har felsökt och stöter på problem som ger felmeddelanden såsom:

130423 13:08:09 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 709 555107725
InnoDB: 1 transaction(s) which must be rolled back or cleaned up
InnoDB: in total 1 row operations to undo
InnoDB: Trx id counter is 1 3738915328
130423 13:08:09 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 1 2 3 4 5 InnoDB: Probable data corruption on page 14686502
InnoDB: Original record (compact record)
InnoDB: on that page.
InnoDB: Cannot find the dir slot for record (compact record)
InnoDB: on that page!
130423 13:08:09 InnoDB: Page dump in ascii and hex (16384 bytes):
InnoDB: stored checksum 1683902533, prior-to-4.0.14-form stored checksum 3027438534
InnoDB: Page lsn 709 555059595, low 4 bytes of lsn at page end 555059595
InnoDB: Page number (if stored to page already) 14686502,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0
InnoDB: Page may be an index page where index id is 0 375
130423 13:08:10 InnoDB: Assertion failure in thread 139759355893504 in file ../../../storage/innobase/page/page0page.c line 133
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
11:08:10 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

Då rekommenderar jag att du testar InnoDB recovery tool. Som återfinnes här:  InnoDB Recovery Tool. Obs du bör ha minst lika mycket hårddisk ledigt som storleken på din databas.

Dela gärna med dig! Sharing is caring:
Bloggy Pusha Facebook TwitThis Maila artikeln! Skriv ut artikeln!
Du bör också läsa något av följande inlägg:

Sociala nyheter, Osom och API:er

2013-04-21 19:31

OsomDet händer en hel del här i Sverige när det gäller startups och intressanta projekt, här är några:

Osom

Björn Fant och Anton Johanssons nya projekt som är en mashup mellan Blocket och Instagram. Sälj dina gamla prylar med ett klick och lägg på ett filter. Uttalas Awesome!

Sociala nyheter

Vilka nyheter förekommer mest på Twitter och Facebook? Ted Valentin har skapat en tjänst som tar redan på det. Lätt sätt att hålla koll på vad som snackas om i sociala medier.

SCB API

Statistiska Centralbyrån har äntligen lanserat ett API. Med detta API så får du tillgång till samtliga tabeller i Statistikdatabasen. Här finns en dokumentation som PDF-fil.

.SE släpper spärrade domäner

.SE stiftelsen (IIS) kommer att släppa upp ett gäng härliga domäner som tidigare varit spärrade. Om jag får gissa så kommer dessa att släppas med ett auktionsförfarande där den som betalar mest får domännamnet. Här kan du se samtliga spärrade domäner: https://www.iis.se/data/barred_domains_list.txt

Dela gärna med dig! Sharing is caring:
Bloggy Pusha Facebook TwitThis Maila artikeln! Skriv ut artikeln!
Du bör också läsa något av följande inlägg:

Skalning hos Instagram

2013-03-23 17:07

instagramVad har Justin Bieber, RabbitMQ och Python gemensamt? Jo Instagram och dess genomtänkta scale-out design:

Dela gärna med dig! Sharing is caring:
Bloggy Pusha Facebook TwitThis Maila artikeln! Skriv ut artikeln!
Du bör också läsa något av följande inlägg:

The Startup Kids

2013-02-12 12:16

The Startup Kids kommer nog att bli en grym film. Jag träffade Sesselja och Vala en sväng när dom var i Stockholm och genomförde intervjuer så om vi tar tur så kommer några svenska startups med också:

Dela gärna med dig! Sharing is caring:
Bloggy Pusha Facebook TwitThis Maila artikeln! Skriv ut artikeln!
Du bör också läsa något av följande inlägg:

Webbutveckling för framtiden

2013-01-28 18:37

HTML5Att webbutveckla för framtiden eller åtminstone anamma nya tekniker är något som jag gör ständigt. Här är några av de förbättringar/framsteg jag gör:

  • Från MySQL till Redis
  • Från HTML4 till HTML5
  • Från Apache till Nginx
  • Från sed/awk etc till MapReduce med Hadoop

Sen försöker jag i viss mån även att förbättra följande:

  • Nyttja PHP-frameworks i större omfattning
  • Webb-frameworks (typ Twitter Bootstrap)
  • Från PayPal till DIBS eller motsvarande för betalningslösningar
  • Och även uppgradera gammal kod att fungera med nya PHP-versioner, några saker jag ändrar är bl.a. mysql_* till mysqli_ och php short tags
  • Cufón

Så man slipper uppfinna hjulet allt för många gånger och att kod slutar fungera vid uppgraderingar. Men det finns även ett antal nya tekniker som jag önskar att jag hade mer tid att testa:

Något fundamentalt som jag missat?

Dela gärna med dig! Sharing is caring:
Bloggy Pusha Facebook TwitThis Maila artikeln! Skriv ut artikeln!
Du bör också läsa något av följande inlägg:

Min träningsblogg

2013-01-27 21:23

Triathlon

Om du kanske inte visste det så tränar jag just nu för att klara av att köra Triathlon på en Ironman-distans nästa år. Distansen består av 3,8km simning, 180km cykel och 42km löpning. Det blir en hel del träning med fokus på snabbhet, uthållighet, teknik och även min favorit: prylar ;)

Den bloggen hittar du här:

Dela gärna med dig! Sharing is caring:
Bloggy Pusha Facebook TwitThis Maila artikeln! Skriv ut artikeln!
Du bör också läsa något av följande inlägg:

Google AdSense intäkter 2012

2013-01-13 12:53

Här kommer en liten sammanställning gällande intäkter från Google Adsense under året 2012:

Skärmavbild 2013-01-13 kl. 12.48.28

Den mörkare gröna linjen är årets intäkter och den ljusare är för 2011. Som man kan se så började 2011 bättre för att sedan ligga under 2012. Annars så var 2012 relativt likt 2011 gällande intäkterna.

Och precis som 2012 så försöker jag bli mindre och mindre beroende av Adsense, men dock inte helt trivialt då många tjänster jag byggt är baserade på annonsintäkter.

Se även mina Google Adsense intäkter för 2010 här.

Dela gärna med dig! Sharing is caring:
Bloggy Pusha Facebook TwitThis Maila artikeln! Skriv ut artikeln!
Du bör också läsa något av följande inlägg:

Så tjänar du mer pengar på Google AdSense

2012-11-20 19:21

För några år sedan så skrev jag följande blogginlägg om hur du kan fördubbla dina Google Adsense-intäkter.

Nu tänkte jag skriva igen om lite nya erfarenheter och lärdomar:

Placera ut fler än tre annonser

Först och främst, du kan enbart placera tre stycken annonsenheter per webbsida. Vad som dock ej är inräknat i detta är länkenheter som du även kan placera tre stycken av.

Vad många gör är också att ”baka in” dessa länkenheter i en befintlig menystruktur vad gäller färg exempelvis. Detta är dock något som kan vara emot Google Adsense-policyn vad som gäller placering av annonser.

Använd nytt större annonsformat

Även värt att tänka på är att Google nu har ett nytt annonsformat som är 300×600 i storleken, och här kan du hitta mer information om detta format. Helst hade jag själv sett 600×300 i storleken då just 300×600 kan vara lite svårt att placera ut då den är lång och smal.

Dela gärna med dig! Sharing is caring:
Bloggy Pusha Facebook TwitThis Maila artikeln! Skriv ut artikeln!
Du bör också läsa något av följande inlägg:

Följ mig på Twitter

2012-11-12 17:00

Du vet väl att jag även återfinnes på Twitter? Där heter jag @jonasl, även så har jag min Triathlon/tränings-blogg på jonaslejon.se.

Twitter – Bild CC BY @shawncampbell Flickr

Dela gärna med dig! Sharing is caring:
Bloggy Pusha Facebook TwitThis Maila artikeln! Skriv ut artikeln!
Du bör också läsa något av följande inlägg:

WordPress felsökning, prestanda och optimering

2012-10-24 18:37

I måndags så höll jag ett uppskattat föredrag om hur du felsöker och optimerar WordPress. Själva presentationsmaterialet innehåller många punkter och är kladdigt, men har dock ett syfte: Att fungera som ett underlag vid felsökning/optimering.

Tack till @tdh, .SE mfl som såg till att årets upplaga av WordCamp gick av stapeln.

#wpsthlm: WordPress prestanda – av Jonas Lejon from tdhftw

Presenstationen har CC-BY 2.0 licens.

Bild på mig av @dcarlbom:

Bilden ovan har licens CC BY NC SA och är tagen av Daniel Carlbom.

Dela gärna med dig! Sharing is caring:
Bloggy Pusha Facebook TwitThis Maila artikeln! Skriv ut artikeln!
Du bör också läsa något av följande inlägg: