20 Mayıs 2020 Çarşamba

Django Uygulamasını MySQL Veritabanına Bağlama

  MySQL Community Server Kurma, MySQL'de Yeni Kullanıcı Oluşturma ve MySQL Workbench Kullanarak Yeni Veritabanı Oluşturma adımlarını tamamladığımıza göre şimdi Django Uygulamamızı MySQL veritabanına bağlamayı adım adım göreceğiz.

Birinci Adım - MySQL Client Kurma


  İlk olarak Django Uygulamamız için kullandığımız Python virtual environment'ine "mysqlclient"i kurmamız gerekiyor. Ama öncelikle bilgisayarımızda MySQL Client kütüphanesinin bulunması olması lazım.

  Eğer Ubuntu kullanıyorsak aşağıdaki komutla "mysqlclient"i kurabiliriz.
$ sudo apt-get install libmysqlclient-dev
Eğer macOS kullanıyorsak bu video macOS'te mysqlclient kurma'yı anlatıyor.

  Ardından "mysqlclient"i kurabiliriz. Uyumsuzluk olmaması için şuanda "1.4.4" sürümünü kullanabiliriz.
$ pip install mysqlclient==1.4.4

İkinci Adım - Django settings.py Dosyasını Düzenleme


  Django "settings.py" dosyasına giriyoruz.

  DATABASES kısmını aşağıdaki gibi düzenliyoruz.
 
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': database_name',
        'USER': 'username',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': 3306
    }
}

Kaydediyoruz.

Üçüncü Adım - Veritabanını Migrate Etme


  Son olarak "manage.py" dosyasının olduğu dizine gelip aşağıdaki komutu çalıştırıyoruz.
$ python manage.py migrate

Not: Kullanıcı girişleri için tekrardan yeni kullanıcı yaratmamız gerekir.
$ python manage.py createsuperuser

Bu kadar!

Kaynakça:

1. Digital Ocean How to Create a Django App and Connect it to a Database. Erişim Tarihi: 20 Mayıs 2020.

MySQL Workbench Kullanarak Yeni Veritabanı Oluşturma

  MySQL Community Server Kurma ve MySQL'de Yeni Kullanıcı Oluşturma adımlarını tamamladığımıza göre şimdi MySQL Workbench kullanarak yeni bir veritabanını nasıl oluşturabileceğimizi adım adım göreceğiz.


  MySQL Workbench'i açtıktan sonra yeni bir Connection oluşturuyoruz.
  • Bunun için "MySQL Connections" yazısının yanındaki "+" sembolüne tıklıyoruz.
  • "Connection Name" ile birlikte "username" ve "password" bilgilerini girdikten sonra "Ok" dediğimizde connection oluşuyor.
  • Oluşan Connection'a tıklayarak bağlanıyoruz.
  • Ardından ekranın sol üstünde kalan semboller arasından, üzerine geldiğimizde "Create a new schema in the connected server" yazısı gelen sembole tıklıyoruz. 
  • Schema için isim verdikten sonra Default Collation olarak "utf8mb4 - utf8mb4_unicode_ci"ı seçiyoruz.
  • "Apply" yaptıktan sonra gelen ekranda da "Apply" diyince yeni veritabanımız(schema diye geçiyor) oluşmuş oluyor.
  • Eğer soldaki "SCHEMAS" panelinde göremezsek yenile butonuna tıkladığımızda görebiliriz.

19 Mayıs 2020 Salı

MySQL Community Server Kurma

 Kurulum için işletim sistemimize uygun bir yol izlememiz gerekiyor.
Eğer Microsoft Windows veya macOS kullanıyorsak MySQL Community Server indirme sayfasına gidiyoruz.
  • Microsoft Windows için:
    • Windows (x86, 64-bit), ZIP Archive
  • macOS için:
    • macOS 10.15 (x86, 64-bit), DMG Archiv 
indirip kurabiliriz.
  • Ubuntu için:
    •  Yine MySQL'in kendi sitesinde indirme linkleri bulunuyor ama linkler yeterince kullanışlı değil. O yüzden Ubuntu 18.04 için aşağıdaki adımları takip edebiliriz: 
    • $ sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
    • $ sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb 
    •  İstediğimiz MySQL versiyonunu seçtikten sonra "Ok"u seçiyoruz. (Yeni başlayanlar MySQL 8'i tercih edebilir.)
    • $ sudo apt-get update
    • $ sudo apt-get install mysql-server
    •  Bu adımda parolamızı giriyoruz ve önerilen adımları takip edip kurulumu tamamlıyoruz. Kurulumu kontrol etmek için aşağıdaki komut kullanılır.  
    • $ systemctl status mysql
    •  Dilersek "mysql_secure_installation" adımlarını takip edebiliriz, ki bu eğer sunucumuza kurduğumuz bir veritabanıysa güvenlik için büyük bir önem arz ediyor.  
    • $ mysql_secure_installation
    • Adımları tamamladıktan sonra giriş yapabiliriz.
Bu kadar!

  MySQL komut satırına giriş yapmak için; Windows'ta MySQL Command-Line Client'i, macOS veya Ubuntu'da ise terminalde alttaki komutu yazabiliriz.
$ mysql -u root -p
  Bu komut, MySQL'deki "root" user'ına password girerek erişmek anlamına geliyor.

MySQL komut satırından çıkış yapmak için aşağıdaki komutu kullanabiliriz.
mysql> exit;

  MySQL Workbench kullanarak veritabanımızı rahatlıkla yönetebiliriz. MySQL Workbench'ten veritabanımızı yönetmek için en uygun yöntem öncelikle bir kullanıcı oluşturmak.

MySQL'de Yeni Kullanıcı Oluşturma

Kaynakça:
1. MySQL MySQL Community Server Download Page.
Erişim Tarihi: 19 Mayıs 2020.
2. YouTube How to Install MySQL 8 on Ubuntu 18.04 LTS.
Erişim Tarihi: 19 Mayıs 2020.

14 Mayıs 2020 Perşembe

MySQL'de Yeni Kullanıcı Oluşturma

  Kullanıcı oluşturup, gerekli yetkilendirmeyi yapmak için aşağıdaki adımları takip edebiliriz.

Yeni kullanıcı oluşturmak için aşağıdaki komutu kullanıyoruz.
mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Oluşturduğumuz kullanıcıyı belirli bir veritabanıyla ilişkilendirmek için aşağıdaki komutu kullanıyoruz.
mysql> GRANT ALL PRIVILEGES ON dbname.* TO 'newuser'@'localhost';

Oluşturduğumuz kullanıcıyı tüm veritabanlarıyla ilişkilendirmek için aşağıdaki komutu kullanıyoruz.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';

Kullanıcımın oluşup oluşmadığını anlamak için aşağıdaki komutu kullanıyoruz:
mysql> SELECT user, host FROM mysql.user;

NOT: Yetkileri yenilemeyi unutursak sonraki adımlarda muhtemelen sıkıntı yaşayacağız.

mysql> FLUSH PRIVILEGES;

"FLUSH PRIVILEGES" komutunu kullanarak yetkilendirmeyi anında geçerli kıldık.

Bu kadar!

13 Mayıs 2020 Çarşamba

Bir Yazılımın Telif Haklarının Alınması

T.C. Kültür ve Turizm Bakanlığı'ndan yazılımın telif hakları alınabilir.

MySQL Veritabanını Bir Sunucudan Başka Bir Sunucuya Taşıma

Bir MySQL veritabanını bir sunucudan diğerine taşımak için izlenebilecek yöntemlerden birini adım adım anlatacağım.

Birinci Adım - Veritabanını Yedekleme

Öncelikle taşımak istediğimiz veritabanını "mysqldump" komutunu kullanarak yedekliyoruz.

a = yedeklenen veritabanı ismi
b =  yedek veritabanı ismi

mysqldump -u root -p --opt a > b.sql

Böylece veritabanını yedekledik.

İkinci Adım - Veritabanını Taşıma

Yedeklediğimiz veritabanını "scp" komutunu kullanarak bir sunucudan diğerine aktarıyoruz.

ACEMİ NOTU: '$' işareti, Linux terminalini temsil eder. Terminalde tekrardan bu işareti koyarsanız komut çalışmaz.


"scp" komutunun kullanımı aşağıdaki gibidir.

$ scp b.sql kullaniciadi@sunucuadi.com:veritabaninin/tasinacagi/yol

Basit bir taşıma komutu aşağıdaki gibidir.

$ scp b.sql kullanici@ornek.com:~/

Böylece veritabanını yedekledik.

Üçüncü Adım - Veritabanını İçe Aktarma


Son olarak taşınan veritabanını sunucudaki MySQL sunucusunda içe aktarırız.

a = yedeklenen veritabanı ismi

$ mysql -u root -p < /veritabani/yolu/a.sql

Veya yeni oluşan veritabanının ismini de vermek istiyorsak, öncelikle verilerin aktarılacağı MySQL Schema'sını oluştururuz. Bu Schema'yı MySQL Workbench üzerinden oluşturabiliriz. Ardından Veritabanını aşağıdaki komutla içe aktarabiliriz.

b =  yedek veritabanı ismi

$ mysql -u root -p b < /veritabani/yolu/a.sql

Böylece veritabanını sunucumuza taşımış olduk.

Bu kadar!

Artık sunucuma taşıdığım veritabanını MySQL Workbench üzerinden "Standard TCP/IP over SSH" Connection Method" seçeneğini kullanarak uzaktan kontrol edebilirim.

Kaynakça:

1. Digital Ocean How to Migrate a MySQL Database Between Two Servers. Erişim Tarihi: 14 Mayıs 2020.

Django Uygulamasını MySQL Veritabanına Bağlama

  MySQL Community Server Kurma , MySQL'de Yeni Kullanıcı Oluşturma ve MySQL Workbench Kullanarak Yeni Veritabanı Oluşturma adımlarını...