
Merhaba sayın enler.org üyeleri. Bu yazımda SSH'de kullanabileceğiniz MYSQL komutlarından ve onların işlevlerinden bahsedeceğim.
Eğer birgün yolunuz MySQL’e düşerse ve yapılandırmanız gerekirse benim gibi sizde arayüz sevmeyenlerdenseniz aşağıdaki komutları sık sık kullanacaksınız benden unutmamak adına burada bunları yazmaya karar verdim.
Öncelikle Linux üzerinde mysql sunucunuzu yönetebilmek ve yapılandırabilmek için mysql komut satırına düşmeniz gerekiyor.
MySQL komut satırına nasıl giriş yapılır?
mysql -u root -p
Öncelikle yukarıdaki parametrelerin ne anlama geldiğini öğrenmeniz lazım. Aşağıda açıklamaları mevcut.
-u = username (kullanıcı adı)
-p = password (şifre)
Yukarıdaki komutu çalıştırdığınızda mysql komut satırına düşmek için mysql root kullanıcısının şifresini girmeniz gerekiyor.
Eğer şifreyide shell arayüzünde yazip baglanmak isterseniz aşağıdaki şekilde parametre’de ufak bir değişiklik yaparak. MySQL komut satırına düşebilirsiniz.
mysql -u root -p sifreniz
MySQL Sunucusu üzerinde Database seçimi yapma komutu:
(Komutları eğer database seviyesinde yazacaksanız öncelikle hangi veritabanı olduğunu belirtmeniz gerekir.) Örnek : use databaseadi;
use mysql;
Alacağınız Çıktı :
use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MySQL Sunucusu üzerinde oluşturulmuş kullanıcıları görme & listeleme komutu:
(use mysql; komutunu çalıştırdığınızı varsayıyorum.)
SELECT User FROM mysql.user;
Alacağınız çıktı:
mysql> SELECT User FROM mysql.user;
+-----------+
| User |
+-----------+
| boxlisans |
| boxnet |
| root |
| boxlisans |
| boxnet |
| root |
| root |
+-----------+
7 rows in set (0.00 sec)
MySQL Sunucusu üzerinde oluşturulmuş veritabanlarını görme & listeleme:
show databases;
Alacağınız çıktı:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| boxlisans |
| boxnet |
| mysql |
+--------------------+
4 rows in set (0.00 sec)
Eğer veritabanınızı seçtikten sonra o veritabanında hangi tabloların olduğunu görmek isterseniz show tables komutunu kullanın:
show tables;
Alacağınız çıktı:
show tables;
+-----------------------+
| Tables_in_boxnet |
+-----------------------+
| admin |
| bandwith_packages |
| banlist |
| biletx |
| cui |
| general_settings |
| internetpackages |
| log |
| nas |
| ozellikler |
| radacct |
| radcheck |
| radgroupcheck |
| radgroupreply |
| radippool |
| radpostauth |
| radreply |
| radusergroup |
| vw_abone_eposta |
| vw_bandwith_raporlari |
| vw_en_cok_gelenler |
| vw_sms_telefonlar |
| vw_tum_eposta |
| wimax |
+-----------------------+
24 rows in set (0.00 sec)
Tabloları listeledikten sonra eğer tablonun içerisindeki field alanlarını gormek isterseniz aşağıdaki komutu kullanabilirsiniz:
(tablo sutunları).
describe tabloadi;
Alacağınız çıktı:
mysql> describe log;
+----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| ad | text | NO | | NULL | |
| soyad | text | NO | | NULL | |
| telefon | text | NO | | NULL | |
| hata | text | NO | | NULL | |
| hatakodu | text | NO | | NULL | |
| username | text | NO | | NULL | |
| password | text | NO | | NULL | |
+----------+------------------+------+-----+---------+----------------+
8 rows in set (0.02 sec)
Tablonun içindeki verileri görmek isterseniz aşağıdaki komutu kullanabilirsiniz:
SELECT * FROM bandwith_packages;
Alacağınız çıktı:
mysql> SELECT * FROM bandwith_packages;
+----+----------+----------+---------+
| id | paketadi | download | upload |
+----+----------+----------+---------+
| 16 | 2MB | 2097152 | 524288 |
| 17 | 4 MB | 4194304 | 1048576 |
| 18 | 6 MB | 6144000 | 1048576 |
| 19 | 8 MB | 8388608 | 2097152 |
+----+----------+----------+---------+
4 rows in set (0.00 sec)
Eğer sutunlar içersinde bir data aramak isterseniz aşağıdaki komutu çalıştırmanız gerekir:
Örneğin bandwith_packages tablosu içersinde bulunan download sutununda value değeri “2097152” olanları listelettim.
SELECT * FROM bandwith_packages WHERE download = "2097152";
Alacağınız çıktı:
SELECT * FROM bandwith_packages WHERE download = "2097152";
+----+----------+----------+--------+
| id | paketadi | download | upload |
+----+----------+----------+--------+
| 16 | 2MB | 2097152 | 524288 |
+----+----------+----------+--------+
1 row in set (0.00 sec)
Senaryomuzun şöyle olduğunu dülünürsek; bandwith_packages tablomuzda bulunan datalarin içersinde paketadi sutununda “2” ile başlayan ve download değeri “2097152” olan verileri listelemek istersek aşağıdaki şekilde komutu kullanmanız gerekir:
SELECT * FROM bandwith_packages WHERE paketadi like "2%" AND download = '2097152';
Alacağınız çıktı:
mysql> SELECT * FROM bandwith_packages WHERE paketadi like "%2%" AND download = '2097152';
+----+----------+----------+---------+
| id | paketadi | download | upload |
+----+----------+----------+---------+
| 16 | 2MB | 2097152 | 524288 |
| 20 | 2MbTest | 2097152 | 1048576 |
| 21 | 2Lipaket | 2097152 | 1048576 |
| 22 | Paket2L? | 2097152 | 1048576 |
+----+----------+----------+---------+
4 rows in set (0.00 sec)
Son düzenleme: