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
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
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 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ı.