MySQL Shell Nedir?
MySQL Shell, MySQL veritabanı yönetim sisteminin etkileşimli bir komut satırı aracıdır. Kullanıcılara SQL, JavaScript ve Python dillerinde veri sorgulama ve yönetim yapma imkanı sunar. MySQL Shell, özellikle veritabanı geliştiricileri ve yöneticileri için tasarlanmış modern bir arayüze sahiptir. Kullanıcılar, komutları ve sorguları doğrudan komut satırından yazarak MySQL veritabanlarıyla etkileşimde bulunabilirler. Ayrıca, MySQL Shell, veri analizi, veri göçü ve veritabanı yönetimi için gelişmiş özellikler sunmaktadır.
MySQL Shell’in Kurulumu
MySQL Shell, MySQL Server ile birlikte veya ayrı bir paket olarak kurulabilir. Kurulumu gerçekleştirmek için ilgili işletim sistemine uygun MySQL Shell sürümü indirilir. Kurulumdan sonra, terminal ya da komut istemcisi açılarak `mysqlsh` komutuyla MySQL Shell başlatılır. Bağlantı sağlamak için, aşağıdaki gibi bir komut kullanılabilir:
“`
mysqlsh –uri kullanıcı_adı@host:port
“`
Bu komut ile belirli bir kullanıcı adı ve host üzerinden port numarası belirtilerek MySQL veritabanına erişim sağlanır. Gerekirse, parolanın girilmesi istenecektir.
Veritabanı Oluşturma
MySQL veritabanı oluşturmak için öncelikle MySQL Shell’e bağlanılması gerekmektedir. SQL modu aktifken yeni bir veritabanı oluşturmak için `CREATE DATABASE` komutu kullanılır:
“`sql
CREATE DATABASE veritabani_adi;
“`
Veritabanı başarıyla oluşturulduktan sonra, bu veritabanına geçiş yapmak için `USE` komutu uygulamak gerekmektedir:
“`sql
USE veritabani_adi;
“`
Tabloların Yönetimi
Veritabanı içerisinde tablolar oluşturmak, verilerin düzenlenmesi için kritik bir adımdır. Tablolar `CREATE TABLE` komutu ile oluşturulabilir. Örneğin:
“`sql
CREATE TABLE tablo_adi (
id INT AUTO_INCREMENT PRIMARY KEY,
isim VARCHAR(100),
yas INT
);
“`
Tablo oluşturulduktan sonra, `INSERT` komutu ile verilere ekleme yapılabilir:
“`sql
INSERT INTO tablo_adi (isim, yas) VALUES (‘Ali’, 30);
“`
Tablonun içeriği `SELECT` komutu ile görüntülenebilir:
“`sql
SELECT FROM tablo_adi;
“`
Verilerin Güncellenmesi ve Silinmesi
Veritabanındaki kayıtlar güncellenmek veya silinmek istendiğinde sırasıyla `UPDATE` ve `DELETE` komutları kullanılır. Örneğin, bir kaydın güncellenmesi şu şekilde yapılmaktadır:
“`sql
UPDATE tablo_adi SET yas = 31 WHERE isim = ‘Ali’;
“`
Bir kayıt silinmek istendiğinde ise:
“`sql
DELETE FROM tablo_adi WHERE isim = ‘Ali’;
“`
Kullanıcı Yönetimi
MySQL Shell, kullanıcıların yönetimi için de önemli işlevler sunar. Yeni kullanıcı eklemek için `CREATE USER` komutu kullanılır. Örneğin:
“`sql
CREATE USER ‘yeni_kullanici’@’localhost’ IDENTIFIED BY ‘parola’;
“`
Bu kullanıcıya veritabanı üzerinde yetki vermek için `GRANT` komutu uygulanır. Örnek komut aşağıdaki gibidir:
“`sql
GRANT ALL PRIVILEGES ON veritabani_adi. TO ‘yeni_kullanici’@’localhost’;
“`
Yetkilerin kaldırılması ise `REVOKE` komutu ile gerçekleştirilebilir:
“`sql
REVOKE ALL PRIVILEGES ON veritabani_adi. FROM ‘yeni_kullanici’@’localhost’;
“`
Yedekleme ve Geri Yükleme
Veritabanı yedeklemesi almak için `mysqldump` aracı kullanılabilir. Aşağıdaki komut ile belirli bir veritabanının yedeği alınabilir:
“`bash
mysqldump -u kullanıcı_adı -p veritabani_adi > veritabani_yedek.sql
“`
Yedeği geri yüklemek içinse `mysql` komutu kullanarak yedeğin geri yüklenmesi sağlanır:
“`bash
mysql -u kullanıcı_adı -p veritabani_adi < veritabani_yedek.sql
```
MySQL Shell ile Script Yazma
MySQL Shell, daha karmaşık veri yönetim senaryoları için script yazımını destekler. JavaScript ve Python dilleri kullanılarak, döngüler, koşullu ifadeler ve işlevler tanımlanabilir. Örneğin, bir JavaScript script’i ile veritabanı üzerinde işlem yapılabilir:
“`javascript
let db = mysql.getSchema(“veritabani_adi”);
let result = db.getTable(“tablo_adi”).select(“”).execute();
result.fetchAll();
“`
Performans İzleme
MySQL Shell ile veritabanı performansı izlenebilir. `SHOW PROCESSLIST` komutu, o anki işlem süreçlerini görüntülemeye yarar. Ayrıca, performans analizi için çeşitli metrikler izlenebilir ve bu sayede veritabanı optimizasyonu yapılabilir.
MySQL Shell’in Gelişmiş Özellikleri
MySQL Shell, JSON belgeleri ile çalışma özelliği sunar ve NoSQL veri modellemesine uygun olarak kullanılabilir. `MySQL Document Store` ile esnek veri yönetimi ve sorgulama sağlanmaktadır. Ayrıca, MySQL Shell, veritabanı güncellemeleri ve olası hata yönetimi için de çeşitli araçlar içerir.
Kısaca özetlemek gerekirse, MySQL Shell ile veritabanı yönetimi, kullanıcıların etkili bir şekilde veri sorgulama, yönetim ve analiz yapmasını sağlayan güçlü bir araçtır. Kullanıcı dostu komutları ve çoklu dil desteği ile veritabanı operasyonlarını kolaylaştırmaktadır.