MySQL veritabanı ile ilgili bazı bilgileri öğrenmek

MySQL kullanıyorsanız, phpMyAdmin gibi bir arayüzünüz olmadığı zaman veritabanı ile ilgili bilgi almak için aşağıdaki sorguları kullanabilirsiniz.

Var olan veritabanlarını görmek:

show databases;

Bir veritabanını kullanmak için seçmek:

use veritabani_ismi;

Bir veritabanındaki tabloları listelemek:

show tables;
show tables from veritabani_ismi;

Bir tablonun oluşturulma scriptini görme:

show create table tablo_ismi

Bir tablonun kolonlarını görme:

describe tablo_adi

MySQL Yedek Alma

Yedek almak için mysqldump aracını kullanıyoruz.

mysqldump -u kullanici_adi -h sunucu_adi db_adi -p > db_adi_yedek.sql

Alınan yedeği tekrar yüklemek için mysql komutunu kullanıyoruz

mysql -u kullanici_adi -h sunucu_adi db_adi -p < db_adi_yedek.sql

Mysql Kullanıcı - Database Oluşturma

Herzaman unutup google’a bakacağıma buraya bakayım daha kolay :)

Önce mysql sunucusuna bağlanalım:

mysql -u root -p

Kullanıcı oluşturma:

create user kullaniciadi;

Veritabanı oluşturma:

create database veritabaniadi;

Kullanıcı yetkilerini verme: Tüm yetkiler:

grant all on veritabaniadi.* to kullaniciadi@localhost identified by 'parola';

Sadece okuma (select):

grant select on veritabaniadi.* to kullaniciadi@localhost;

Yetkiler hemen devreye girsin:

flush privileges;

Mysql Data Dizinini Değiştirme

Mysql Mysql data dizini ön tanımlı /var/lib/mysql olarak belirlenmiştir. Çeşitli ihtiyaçlardan dolayı bunun yerini değiştirmemiz gerekebilir. Mesela ben ayrı bir bölümde tuttuğum /home dizini altına taşımak istiyorum. Tüm işlemleri root yetkisiyle yapıyoruz. Öncelikle mysql servisini durduralım. Ben pardus kullandığım için

$ service mysql-server stop

Diğer dağıtımlarda farklı olabilir. Ardından ilgili dizini yeni yerine kopyalayalım.

$ cp -a /var/lib/mysql /home

Daha sonra mysql sunucusuna yeni dizinimizi haber verelim. /etc/mysql/my.cnf dosyasında datadir = /var/lib/mysql olan satırı datadir = /home/mysql olarak değiştirelim. Şimdi servisi yeniden başlatabiliriz.

$ service mysql-server start

Eğer düzgün bir şekilde çalışıyorsa /var/lib/mysql dizinini silebiliriz. Ama ismini değiştirip birkaç gün her ihtimale karşı saklamak çok mantıklı.