MySQL’i bir Nt tabanlı sisteme kurduysanız, kendisini bir hizmet olarak kaydeder ve sistem başladığında otomatik olarak MySQL server başlatılır. Eğer 9x tabanlı bir sisteminiz var ise MS-Dos komut istemini acarak MysQL’in kurulduğu klasorun altındaki bin klasorundeki mysqld.exe dosyasını calıştırmalısınız. Bu dosya MySQL’in sunucu tarafını temsil eder. Biz MySQL’in istemci tarafını kullanarak bu dosyanın organize ettiği veritabanı sistemimize erişeceğiz. Şunu unutmamalıyız ki MySQL bir sunucu-istemci tabanlı veritabanı sistemidir.

MySQL sunucusunu başlattıktan uzerinde calışmaya başlayabilmek icin ilk olarak istemci programa ona bağlanacağız..



Şimdi basit olarak bağlanabilmek icin Ms-DOS komut istemini acıp MySQL’lin kurulu olduğu dizindeki bin klasorune bağlanmaktayız. Kurulum esnasında MySQL dizininin Windows tanımlı yollarım arasında bulunmasını istemişseniz direk olarak komut girişi de yapabilirsiniz.



Artık hazırsanız sunucuya bağlanalım. eğer kurulum esnasında herhangi bir root parolası belirlememişseniz komut satırında mysql yazıp giriş yaptığında istemciyi calıştırmış olacaksınız. Eğer bir root parolası belirlemişseniz mysql.exe dosyasını belirli parametrelerle başlatmalısınız. Şu şekilde

Mysql –u root –pparola

Giriş yapmalısınız –p’den sonra boşluk bırakmadan parolanızı girmelisiniz.



Normalde eğer MySQL’in sunucu ve istemci tarafı a aynı makine uzerinde kurulu olmasaydı bu parametrelere bir de ‘–u sunucuadi’ parametresini ekleyecektik. Ama yazmadığımızda mysql zaten localhost sunucusuna bağlanmamız gerektiğini anlıyor.



Eğer root kullanıcısı herhangi bir parolaya sahip değilse komut isteminden mysql yazdığınız anda giriş yapılacaktır. Root kullanıcısına bir şifre vermek icin birkac yol vardır. Ben bir tanesini acıklayacağım diğerlerini de acıklamasız olarak yazacağım. Bunlardan ilki mysqladmin yonetici komutunu kullanmak. Şu şekilde bir komut girerseniz root kullanıcısı bir parolaya kavuşacaktır.

Mysqladmin –u root password yeniparola



Eğer onceki şifrenizi değiştirecekseniz aşağıdaki komutu kullanmalısınız.

Mysqladmin –u root –paa password “yeniparola”



Mysql icirisinden set ve update deyimleriyle şifre değiştirilebilir…

shell> mysql -u root

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')

-> WHERE User = 'root';

mysql> FLUSH PRIVILEGES;

set ile yapmak icin

shell> mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');



yukarıdaki yeni parolayı girmek icin kullandığımız password() fonksiyonu parolanın şifrelenerek sisteme kaydını sağlıyor ve kotu kişiler bu parolaya bizden izinsiz erişemiyor..



Şunu unutmamak gerekirki Root kullanıcısı sistemin yoneticisidir ve tum haklara sahiptir. Tıpki linuzda olduğu gibi..



Şimdi sıra geldi belirsiz kullanıcıların sisteme girişini engellemeye

Sisteme şu şekilde giriş yapmayı kdeneyiniz

Mysql –u abcdef

Ve bide bu şekilde

Mysql

Girişiniz kabul edilecektir. Cunku MySQL bilinmeyen kullanıcılar icin belirsiz bir kullanıcı kaydına sahiptir ve buda bilinmeyen kişilerin sisteme girişine izin verir. Oysaki bizim duşuncemize gore sisteme sadece root kullanıcısı kayıtlıydı ve başkalarına izin verilmemeliydi.Eğer belirsiz kullanıcı kaydını silersek yada buna bir parola atarsak parolasız olarak kimse sisteme kayıt yapamayacaktır.

İlk olarak bu kullanıcıyı silmeyi oğrenelim, bunun icin mysql istemcisini root olarak acın ve şu satırları yazın

mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';

mysql> FLUSH PRIVILEGES;

Bu komut dizesi belirsiz kullancı tanımını siler ve ikinci komut ile de değişikliklerin sunucuda uygulanmasını sağlar.

Belirsiz kullanıcıya parola atamak istersek yine mysql istemcisine root olarak giriş yapıp

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')

-> WHERE User = '';

mysql> FLUSH PRIVILEGES;

Yada

SET PASSWORD FOR ‘’@’localhost’=PASSWORD(‘aaaaa’);

Komutlarını kullanabiliriz.



MySQL sisteminde kullancı adları MySQL kurulumu ile gelen ve MySQL in icinde bulunan mysql adlı veritabanındaki user adlı tabloda tutulur. Buradaki alanların değerlerine gore kullancı hakları belirlenir. İzin verilmeyen kişiler bu tabloya erişemez, dolayısıylar root kullanıcısı bu tablara direkt erişim yapabilir



Eğer mysql’de yazdığınız bir komut dizesi hatalı ise mysql> şeklinde olan imlec ‘> yada ;> şekline doner. Bunun anlamı dizede bir ‘ yada ; karakteri eksi demektir. Dizenizi denetleyin.



Bir sonraki makalemde ilk veritabanımızı oluşturup veri girişini ve sorgulamayı acıklayacağım

Baksana59
__________________