Mysql Nedir, Nasil Kurulur, Kullanilir, Örnek Komutlar

Home » Linux » Mysql Nedir, Nasil Kurulur, Kullanilir, Örnek Komutlar
Linux Yorum yapılmamış

Dünya üzerinde yaygın olarak kullanılan ve 6 milyonu aşkın kullanıcısı bulunan çoklu iş parçacıklı (multi-threaded), çok kullanıcılı (multi-user) hızlı, sağlam performanslı bir veritabanı yönetim sistemi olan mysql hakkında bilgi vererek örnek komut dizilimlerini açıklayacağım. Tam olarak nedir bu MySQl ? Mysql tanımından önce basit bir şekilde veritabanı mantığını bilmek gerekiyor. Bir veritabanı adından da anlaşılacağı gibi bilgilerin depolandığı hiyerarşik bir yapıdır. Bu noktada MySQL ilişkisel bir veritabanı yönetimi sistemi olarak karşımıza çıkıyor ve barındırdığı temel özellikleri ile veritabanı yönetimini sağlıyor. Bu konuda aşırı detaya girmeyeceğim bu nedenle aşağıdaki link üzerinden ayrıntılı bilgi alabilirsiniz. http://tr.wikipedia.org/wiki/MySQL Temel Özellikleri -Tables –> Tablo Yapısı -Views –> Görüntüleme özelliği -Procedures –> Prosedür/Yordamlar – Yönetebilirlik -Triggers –> Tetikleyiciler – Update,insert v.b. işlemlerde otomatik olarak paydaşlarını tetikler.. -Cursors –> Mysql Kurulumu, Centos/Rhel/Fedora dağıtımları için,

Debian/Ubuntu dağıtımları için,

Kurulum tamamlandıktan sonra mysql şifresi oluşturarak default tanımları yapalım. Öncelikle “mysql_secure_installation” dosyasını bularak çalıştırmamız gerekiyor. Dosya genel olarak “/usr/bin/mysql_secure_installation” dizininde oluyor fakat tam konumunu bulmak için “locate mysql_secure_installation” komutu verilebilir. Bir diğer seçenek ise kurulum esnasında otomatik olarak görebilmemiz için bin dizinine atılıyor. Yani konsola direk mysql_secure_installation yazarakta çalıştırabilirsiniz. Çalıştıralım;

1.Bölüm – Root Şifresi bölümü. Burada root şifresi oluşturacağız. -Aşağıdaki satırı görmemüz halinde direk enter’a basarak ilerleyelim.

-Root parolasının değiştirmek istermisiniz sorusuna “yes” yanıtı verelim (kısaltılmış halde “y” şeklinde yazalım).

-Anonim kullanıcıları silmek istermisiniz sorusuna ben gerek görmediğim için “Y” yanıtını veriyorum. (Güvenlik amaçlı.. detaya girmiyorum)

-Burada root kullanıcısının uzaktan erişimine onay isteniyor. Ben “y” yanıtını vererek devam ediyorum.

-Sistem defaultda kurulurken gelen test database’i ve yetki tanımlarını kaldırmak istermisiniz sorusuna ben “y” yanıtı ile devam ediyorum,

-Tüm bu işlemlerin ardından yapılan değişiklikler-ayrıcalıklar için tabloları güncelleyerek etkin olması için “y” ile devam ediyorum,

-Sonrasında aşağıdaki satırları gördüğümüzde ön kurulum ayarlarını tamamlamış sayılırız. Artık bu noktada MySQL’e bağlanabiliriz.

Mysql console üzerinden bağlanmak için aşağıdaki komutu veriyor. Komut sonrasında bize parola soracaktır, bu parola bir önceki işlemlerde belirlediğimiz paroladır.

-Konsol üzerinde aşağıdaki satırı görüyorsanız mysql içerisindesiniz demektir.

Mysql konsolu üzerinde root parolasını değiştirmek için,

Shell konsol üzerinden mysqladmin aracı ile mysql console’a bağlanmadan şifre güncellemek için, mysqladmin -u username -p password ‘new-password’ Unutulan MySQL kullanıcı (örneğin root) şifresini değiştirmek için, -Önce mysql servisi durdurulur,

-Sonra mysql için güvenli moda geçiyoruz,

-Sonrasında mysql server’a bağlanıyoruz,

-Son olarak aşağıdaki komutlarımızla birlikte unuttuğumuz root şifremizi değiştiriyoruz,

-Artık şifre değiştirildi. Güvenli modda başlayan mysql server’ı tekrar durdurmak ve sonra yeniden başlattıktan sonra aktif olacaktır.

-Yeni bir mysql kullanıcısı oluşturmak için,

Şimdi burada bilmemiz gereken bir durum var. Ben yukarıdaki test-kullanicisi için tamamen tüm yetkilerle her yerden erişebilmesi için yetki tanımladım. Bunu “@” “%” “localhost” seçenekleri ile anlayabiliriz.

Kullanıcı oluşturma ve yetkilerine ayrı ayrı örnekler ile göstereyim, -Oluşturacağımız kullanıcının belirli ip adresinden ve tüm yetkilerle erişim sağlayabilmesi için,

-Oluşturacağımız kullanıcının belirli ip adresinden ve kısıtlı yetkilerle erişim sağlayabilmesi için,

-Oluşturacağımız kullanıcının belirli ip adresinden ve kısıtlı yetkilerle yalnızca istediğimiz db’ye erişim sağlayabilmesi için,

Not: Ben burada belirli ip’ler üzerine yöneldim. Siz burada ip seçeneği değilde “localhost” veya “%” seçeneklerinide kullanabilirsiniz. Yeni database oluşturmak için,

Tüm database’leri listelemek için,

Database seçimi için,

Database seçiminin ardından tabloları listelemek için,

Alanları görüntülemek için,

Database’i silmek için,

Tablo silmek için,

Tablo içerisindeki tüm verileri görmek görüntülemek için,

Belirtilen bir tabloya ait sütunları görüntülemek için,

Değeri ne olursa olsun seçilen satırları görüntülemek için,

İsmi “test” olan ve “üye-numarası” “123456” olan tüm kayıtları görüntülemek için,

İsmi “test” ve “üye-numarası” “123456” olan kayıtların dışındaki tüm kayıtları görüntülemek için,

“test” kelimesi ile başlayan ve üye numarası “123456” ile başlayan tüm kayıtları görüntülemek için,

“test” kelimesi ile başlayan, üye numarası “123456” olanlar içerisinde “1” ile “5” arasındaki kayıtları görüntülemek için,

Harf duyarlılığı için “regexp binary” kullanarak “r” harfi ile başlayan kayıtları bulmak için,

Benzersiz kayıtları görüntülemek için,

Seçilen kayıtları +1 artan -1 azalan şekilde sıralamanmış halini görüntülemek için,

Satır sayısını döndürmek için,

Sütun toplamını görmek için,

Bir database üzerinde belirli bir kullanıcımuz için ayrıcalıkları-hakları tanımlayalım, (örnek)

-veya tüm hakları o database üzerinde tüm hakları vermek istersek,

Bir tablodaki bilgileri güncellemek için,

Bir tablo üzerinden herhangi satır silmek için,

Sutun silmek için,

Database üzerine yeni bir sütun eklemek için,

Sütun adını değiştirmek için,

Benzersiz bir sütun oluşturmak için,

Bir sütunu daha büyük yapmak için,

Tablo üzerinden benzersiz/eşsiz olan sütunları silmek için,

Tabloya csv dosyası aktarmak/yüklemek için,

Mysql üzerinde veritabanı ve tablolara ait ne kadar alan kullanıldığını görmek için mysql console üzerinde aşağıdaki dizilimleri kullanabilirsiniz. Database’leri ve kapladığı alanları görelim, mysql>SELECT table_schema ‘Veritabanı Adı’, sum( data_length + index_length ) / 1024 / 1024 ‘Veritabanı Boyutu (MB)’, sum( data_free )/ 1024 / 1024 ‘Boş Alan (MB)’ FROM information_schema.TABLES GROUP BY table_schema;

Tablolara ait boyut bilgilerini görmek için ise,

Mysql komut satırı içerisinde help yazmamız halinde kullanılabilecek komutları listelemektedir. Bu komutları aşağıda görebilirsiniz,