Merhaba arkadaşlar, bu yazıda Linux dağıtımlarından olan Centos’a MySQL kurulumunun nasıl yapıldığını göreceğiz. İşlemin oldukça kolay olduğunu göreceksiniz, yeter ki işlemleri/komutları sırasıyla ve dikkatli bir şekilde takip ederek yapınız.

  • Öncelikle sistemimizi güncelliyoruz
sudo yum update 

MySQL kurulumunu ve hangi çalıştırma seviyesinde başlayacağını ayarlıyoruz

sudo yum install mysql-server
sudo /sbin/chkconfig --levels 235 mysqld on

İşlem tamamlandıktan sonra MySQL sunucumuzu başlatabiliriz

 sudo service mysqld start
  • Sıra güvenlik aşamasında

Aşağıda kodu verilen mysql_secure_installation scripti çalıştırarak güvenlik ayarlarını yapabiliriz

sudo mysql_secure_installation

Scripti çalıştırdıktan sonra MySQL root şifresini değiştirmeyi, anonim hesabını kaldırmayı ve localhostun dışında root girişi yapılmamasını ve test veritabanını silmek isteyip istemediğinizi sorabilir. Bu ayarlara evet cevabını vermeniz önerilir. Daha fazla bilgiyi şu adresten alabilirsiniz; MySQL Manual

  • Kurulumu yaptık, peki nasıl giriş yaparız?

MySQL’e giriş yapmak için aşağıdaki kod kullanılır. root yerine herhangi bir kullanıcı yazabilirsiniz, aşağıdaki kod root kullanıcısına giriş için kullanılır.

mysql -u root -p

Yukarıdaki giriş kodunu yazdıktan sonra sizden mysql_secure_installation scriptini çalıştırdığınızda ayarladığınız root şifresini soracak. Şifreyi doğru bir şekilde girerseniz, aşağıdaki ekranla karşılaşacaksınız;

 Welcome to the MySQL monitor.  Commands end with ; or \g.
 Your MySQL connection id is 1
 Server version: 5.0.45 Source distribution

 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 mysql>

MySQL komutlarını görmek ve yardım almak istiyorsanız, MySQL’e giriş yaptıktan sonra yani mysql> olarak gözüktüğü zaman, \h yazabilirsiniz. Yazdığınız takdirde, şu ekran ile karşılaşacaksınız;

List of all MySQL commands:
 Note that all text commands must be first on line and end with ';'
 ?         (\?) Synonym for `help'.
 clear     (\c) Clear command.
 connect   (\r) Reconnect to the server. Optional arguments are db and host.
 delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.
 edit      (\e) Edit command with $EDITOR.
 ego       (\G) Send command to mysql server, display result vertically.
 exit      (\q) Exit mysql. Same as quit.
 go        (\g) Send command to mysql server.
 help      (\h) Display this help.
 nopager   (\n) Disable pager, print to stdout.
 notee     (\t) Don't write into outfile.
 pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
 print     (\p) Print current command.
 prompt    (\R) Change your mysql prompt.
 quit      (\q) Quit mysql.
 rehash    (\#) Rebuild completion hash.
 source    (\.) Execute an SQL script file. Takes a file name as an argument.
 status    (\s) Get status information from the server.
 system    (\!) Execute a system shell command.
 tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
 use       (\u) Use another database. Takes database name as argument.
 warnings  (\W) Show warnings after every statement.
 nowarning (\w) Don't show warnings after every statement.

 For server side help, type 'help contents'

 mysql>
  • Yeni MySQL kullanıcısı ve veritabanı oluşturma

Aşağıda kullanacağımız kodlardaki testdb veritabanının ismi, kullanici kullanıcının adı ve sifre ise o kullanıcının şifresini temsil etmektedir. Siz kendiniz için oluştururken, o kısımları kendinize göre doldurmayı unutmayın. Ayrıca, aşağıdaki kod kullanıcıya tüm yetkileri sağlar, güvenlik nedenlerinden dolayı, dikkatli bir şekilde bu yetkileri vermeniz önerilir.

 create database testdb;
 create user 'kullanici'@'localhost' identified by 'sifre';
 grant all on testdb.* to 'kullanici' identified by 'sifre';

Yukarıdaki kodu biraz daha kısaltarak aşağıdaki gibi de yapabilirdik;

 create database testdb;
 grant all on testdb.* to 'testuser' identified by 'password';
  • Yeni tablo oluşturma

Az önce oluşturduğumuz kullanici hesabına şifre kullanarak giriş yapalım

 mysql -u kullanici -p 

Daha sonra müşteriler isminde bir tablo oluşturalım. Aşağıdaki kod musteri_id isminde otomatik olarak artan ve INT yani sayı değeri alan bir alan ile birlikte isim ve soyisim isminde müşterinin ad ve soyadını tutan alanlardan oluşan bir tablo oluşturur. Sadece bir örnek, istediğiniz gibi değiştirebilirsiniz

use testdb;
create table musteriler (musteri_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, isim TEXT, soyisim TEXT);