EnderUNIX Team.


EnderUNIX İpucu

Arkadaşıma gönder , Ana Sayfa

[ MySQL ]

"mysql kurulumdan sonra karşılaşılan birkaç bailatma hatası!" - Mesut GÜLNAZ - (2004-10-13 17:31:09)   [5710]

diyelim ki makinenizi server olarak kullanacaksınız!Diskinizi dilimlere ayırdınız ve mysql server kurmak istiyorsunuz!
sisteme bişi olursa dataları bari kurtarim diye de datanse i "/d" de tutmak istiyorsunuz! (Windowstan aklınızda kalsın diye D dedim :-DD)
o nedenle mysql i

#make WITH_CHARSET=latin5 SKIP_DNS_CHECK=yes BUILD_OPTIMIZED=yes DB_DIR=/d/mysql install clean
parametreleri ile kurdunuz. kurulum bitti.

şimdi normalde

#/usr/local/etc/rc.d/mysql-server.sh start

dediğimizde server başlaması lazım. Ama başlamaz ise (ps ax ile bakılabilir) bakılacak ilk iş hata nerede ve bu hata nerede yazar?

hemen verdiğimiz database yolunun bulunduğu dizine bakalım.

#ls /d/mysql

orada host.err diye bir dosya olmalı. (host=bilgisayarın tam adı burada örnek olarak net.mydomain.com)

hemen tail ile çıktıya bakılır.

#tail net.mydomain.com.err
InnoDB: log sequence number 0 36808.
> > InnoDB: Doing recovery: scanned up to log sequence number 0 43634
> > 041012 16:59:24 InnoDB: Starting an apply batch of log records to the database...
> > InnoDB: Progress in percents: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
> > InnoDB: Apply batch completed
> > 041012 16:59:24 InnoDB: Flushing modified pages from the buffer pool...
> > 041012 16:59:24 InnoDB: Started; log sequence number 0 43634
> > 041012 16:59:24 [ERROR] Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
> > 041012 16:59:24 mysqld ended

gibi bir çıktı alırsanız ki burada asıl önemli olan "[ERROR] Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
" yani bunun anlamı. mysql inkendi db si oluşmamıştır. aslında oluşması lazımdı. ama oluşmamış nedenine sonra geleceğim.
hemen oluşturuyoruz o zaman

#mysql_install_db

ile db lerimizi oluşturalım.

sonra tekrar

#/usr/local/etc/rc.d/mysql-server.sh start

ps ax ile bakalım çalıştı mı çalışmadı mı? eğer çalıştı ise sorun yok. Ama eğer yine çalışmadı tekrar hataya bakalım yine aynı dosya içerisinden. yani net.mydomain.com.err

#tail /d/mysql/net.mydomain.com.err
InnoDB: Restoring possible half-written data pages from the doublewrite
> InnoDB: buffer...
> 041013 9:50:58 InnoDB: Starting log scan based on checkpoint at
> InnoDB: log sequence number 0 43634.
> InnoDB: Doing recovery: scanned up to log sequence number 0 43634
> 041013 9:50:58 InnoDB: Flushing modified pages from the buffer pool...
> 041013 9:50:58 InnoDB: Started; log sequence number 0 43634
> 041013 9:50:58 [ERROR] Fatal error: Can't open privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
> 041013 09:50:58 mysqld ended

şimdi de bizim için anlamlı satır şu "[ERROR] Fatal error: Can't open privilege tables: Can't find file: './mysql/host.frm' (errno: 13)"

bunun anlamı= database oluşmuş ama privilege ile alakalı bir sıkıntım var.

o zaman izinlerini ayarlayalım. yani mysql databasinin bulunduğu tüm dizinin sahibini de grubunu da mysql yapalım. yani

#chown -R mysql:mysql /d/mysql

şimdi

#/usr/local/etc/rc.d/mysql-server.sh start

#ps ax

işte mysql imiz orada artık sorunsuz. çalışıyor yani.

bu sorunları yaşamamak için ilk başta yapmanız gereken şey mysql in db sini koyacağınız dizin e mysql e yazma hakkını vermeniz olsun.
yoksa ilk başta yapmanız gereken i en son yaparsınız.

iyi çalışmalar!

Not: İsmail YENİGÜL ve Halil Demirezen e saygılar!

Arkadaşıma gönder , Ana Sayfa