MySQL - Yönetim

MySQL Sunucusunu Çalıştırma ve Kapatma

Öncelikle MySQL sunucunuzun çalışıp çalışmadığını kontrol edin. Kontrol etmek için aşağıdaki komutu kullanabilirsiniz -

ps -ef | grep mysqld

MySql'iniz çalışıyorsa göreceksiniz mysqldsonucunuzda listelenen süreç. Sunucu çalışmıyorsa, aşağıdaki komutu kullanarak başlatabilirsiniz -

root@host# cd /usr/bin
./safe_mysqld &

Şimdi, zaten çalışan bir MySQL sunucusunu kapatmak istiyorsanız, aşağıdaki komutu kullanarak bunu yapabilirsiniz -

root@host# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

MySQL Kullanıcı Hesabı Oluşturma

MySQL'e yeni bir kullanıcı eklemek için, sadece yeni bir giriş eklemeniz gerekir. user veritabanındaki tablo mysql.

Aşağıdaki program, yeni bir kullanıcı eklemenin bir örneğidir guest parola ile SELECT, INSERT ve UPDATE ayrıcalıklarıyla guest123; SQL sorgusu -

root@host# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed

mysql> INSERT INTO user 
   (host, user, password, 
   select_priv, insert_priv, update_priv) 
   VALUES ('localhost', 'guest', 
   PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
|    host   |   user  |     password     |    
+-----------+---------+------------------+
| localhost |  guest  | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)

Yeni bir kullanıcı eklerken, MySQL tarafından sağlanan PASSWORD () işlevini kullanarak yeni parolayı şifrelemeyi unutmayın. Yukarıdaki örnekte görebileceğiniz gibi, parola mypass 6f8c114b58f2ce9e olarak şifrelenmiştir.

FLUSH PRIVILEGES bildirimine dikkat edin. Bu, sunucuya hibe tablolarını yeniden yüklemesini söyler. Kullanmazsanız, en azından sunucu yeniden başlatılana kadar yeni kullanıcı hesabını kullanarak MySQL'e bağlanamazsınız.

Ayrıca, INSERT sorgusunu çalıştırırken kullanıcı tablosundaki aşağıdaki sütunların değerlerini 'Y' olarak ayarlayarak yeni bir kullanıcıya başka ayrıcalıklar da belirtebilir veya bunları daha sonra UPDATE sorgusunu kullanarak güncelleyebilirsiniz.

  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv

Kullanıcı hesabı eklemenin başka bir yolu da GRANT SQL komutunu kullanmaktır. Aşağıdaki örnek kullanıcı ekleyecektirzara şifre ile zara123 olarak adlandırılan belirli bir veritabanı için TUTORIALS.

root@host# mysql -u root -p password;
Enter password:*******
mysql> use mysql;
Database changed

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
   -> ON TUTORIALS.*
   -> TO 'zara'@'localhost'
   -> IDENTIFIED BY 'zara123';

Bu ayrıca MySQL veritabanı tablosunda adı verilen bir giriş oluşturacaktır. user.

NOTE - MySQL, SQL komutunun sonunda noktalı virgül (;) verene kadar bir komutu sonlandırmaz.

/Etc/my.cnf Dosya Yapılandırması

Çoğu durumda bu dosyaya dokunmamalısınız. Varsayılan olarak, aşağıdaki girişlere sahip olacaktır -

[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock

[mysql.server]
user = mysql
basedir = /var/lib

[safe_mysqld]
err-log = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid

Burada, hata günlüğü için farklı bir dizin belirtebilirsiniz, aksi takdirde bu tablodaki hiçbir girişi değiştirmemelisiniz.

İdari MySQL Komutu

İşte MySQL veritabanıyla çalışmak için zaman zaman kullanacağınız önemli MySQL komutlarının listesi -

  • USE Databasename - Bu, MySQL çalışma alanında bir veritabanı seçmek için kullanılacaktır.

  • SHOW DATABASES - MySQL DBMS tarafından erişilebilen veritabanlarını listeler.

  • SHOW TABLES - Kullanım komutuyla bir veritabanı seçildikten sonra veritabanındaki tabloları gösterir.

  • SHOW COLUMNS FROM tablename: Bir tablo için öznitelikleri, öznitelik türlerini, anahtar bilgilerini, NULL'a izin verilip verilmediğini, varsayılanları ve diğer bilgileri gösterir.

  • SHOW INDEX FROM tablename - PRIMARY KEY dahil olmak üzere tablodaki tüm dizinlerin ayrıntılarını sunar.

  • SHOW TABLE STATUS LIKE tablename\G - MySQL DBMS performansının ve istatistiklerinin ayrıntılarını raporlar.

Bir sonraki bölümde, MySQL'de PHP Sözdiziminin nasıl kullanıldığını tartışacağız.