MySQL veritabanı sistemi ile çalışmaya başlama

Web tasarım, Web Programlama ve script dilleri konuları buraya
Cevapla
Kullanıcı avatarı
burak_dalkir
Gigabyte2
Gigabyte2
Mesajlar: 2316
Kayıt: 15 Mar 2006, 10:10
cinsiyet: Erkek
Konum: Pendik/ İstanbul
İletişim:

MySQL veritabanı sistemi ile çalışmaya başlama

Mesaj gönderen burak_dalkir »

MySQL’i bir Nt tabanlı sisteme kurduysanız, kendisini bir hizmet olarak kaydeder ve sistem basladıgında otomatik olarak MySQL server baslatılır. Eger 9x tabanlı bir sisteminiz var ise MS-Dos komut istemini açarak MysQL’in kuruldugu klasörün altındaki bin klasöründeki mysqld.exe dosyasını çalıstırmalısınız. Bu dosya MySQL’in sunucu tarafını temsil eder. Biz MySQL’in istemci tarafını kullanarak bu dosyanın organize ettigi veritabanı sistemimize erisecegiz. sunu unutmamalıyız ki MySQL bir sunucu-istemci tabanlı veritabanı sistemidir.
MySQL sunucusunu baslattıktan üzerinde çalısmaya baslayabilmek için ilk olarak istemci programa ona baglanacagız..

simdi basit olarak baglanabilmek için Ms-DOS komut istemini açıp MySQL’lin kurulu oldugu dizindeki bin klasörüne baglanmaktayız. Kurulum esnasında MySQL dizininin Windows tanımlı yollarım arasında bulunmasını istemisseniz direk olarak komut girisi de yapabilirsiniz.

Artık hazırsanız sunucuya baglanalım. eger kurulum esnasında herhangi bir root parolası belirlememisseniz komut satırında mysql yazıp giris yaptıgında istemciyi çalıstırmıs olacaksınız. Eger bir root parolası belirlemisseniz mysql.exe dosyasını belirli parametrelerle baslatmalısınız. su sekilde
Mysql –u root –pparola
Giris yapmalısınız –p’den sonra bosluk bırakmadan parolanızı girmelisiniz.

Normalde eger MySQL’in sunucu ve istemci tarafı a aynı makine üzerinde kurulu olmasaydı bu parametrelere bir de ‘–u sunucuadi’ parametresini ekleyecektik. Ama yazmadıgımızda mysql zaten localhost sunucusuna baglanmamız gerektigini anlıyor.

Eger root kullanıcısı herhangi bir parolaya sahip degilse komut isteminden mysql yazdıgınız anda giris yapılacaktır. Root kullanıcısına bir sifre vermek için birkaç yol vardır. Ben bir tanesini açıklayacagım digerlerini de açıklamasız olarak yazacagım. Bunlardan ilki mysqladmin yönetici komutunu kullanmak. su sekilde bir komut girerseniz root kullanıcısı bir parolaya kavusacaktır.
Mysqladmin –u root password yeniparolaEger önceki sifrenizi degistirecekseniz asagıdaki komutu kullanmalısınız. Mysqladmin –u root –paa password “yeniparola”Mysql içirisinden set ve update deyimleriyle sifre degistirilebilir…shell> mysql -u rootmysql> UPDATE mysql.user SET Password = PASSWORD('newpwd') -> WHERE User = 'root';mysql> FLUSH PRIVILEGES;set ile yapmak içinshell> mysql -u rootmysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');yukarıdaki yeni parolayı girmek için kullandıgımız password() fonksiyonu parolanın sifrelenerek sisteme kaydını saglıyor ve kötü kisiler bu parolaya bizden izinsiz erisemiyor..sunu unutmamak gerekirki Root kullanıcısı sistemin yöneticisidir ve tüm haklara sahiptir. Tıpki linuzda oldugu gibi..simdi sıra geldi belirsiz kullanıcıların sisteme girisini engellemeyeSisteme su sekilde giris yapmayı kdeneyinizMysql –u abcdefVe bide bu sekildeMysqlGirisiniz kabul edilecektir. Çünkü MySQL bilinmeyen kullanıcılar için belirsiz bir kullanıcı kaydına sahiptir ve buda bilinmeyen kisilerin sisteme girisine izin verir. Oysaki bizim düsüncemize göre sisteme sadece root kullanıcısı kayıtlıydı ve baskalarına izin verilmemeliydi.Eger 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 ögrenelim, bunun için mysql istemcisini root olarak açın ve su satırları yazınmysql> 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 degisikliklerin sunucuda uygulanmasını saglar. Belirsiz kullanıcıya parola atamak istersek yine mysql istemcisine root olarak giris yapıp mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd') -> WHERE User = '';mysql> FLUSH PRIVILEGES;YadaSET PASSWORD FOR ‘’@’localhost’=PASSWORD(‘aaaaa’);Komutlarını kullanabiliriz.MySQL sisteminde kullancı adları MySQL kurulumu ile gelen ve MySQL in içinde bulunan mysql adlı veritabanındaki user adlı tabloda tutulur. Buradaki alanların degerlerine göre kullancı hakları belirlenir. İzin verilmeyen kisiler bu tabloya erisemez, dolayısıylar root kullanıcısı bu tablara direkt erisim yapabilirEger mysql’de yazdıgınız bir komut dizesi hatalı ise mysql> seklinde olan imleç ‘> yada ;> sekline döner. Bunun anlamı dizede bir ‘ yada ; karakteri eksi demektir. Dizenizi denetleyin.
Cevapla