Güvenlik konusunda ücretsiz olarak erişebileceğiniz
best practise dökümanlarına aşağıdaki linkten ulaşabilirsiniz.
(Oracle 11g,Oracle 12c, Mysql, DB2, Linux 6, VmWare, Apache, IIS vs. )
Örnek Döküman
-------------------------
CIS Oracle Database Server 11g R2 Benchmark v2.1.0
Release Date: Mon Nov 30 10:15:44 2015
https://benchmarks.cisecurity.org/downloads/show-single/?file=oracle11gR2.210
This document is intended to address the recommended security settings for Oracle Database 11g R2.
This guide was tested against Oracle 11g R2 (11.2.0.4) running on a Windows Server 2012 R2 instance
as a stand-alone system, and running on an Oracle Linux 6.5 instance also as a stand-alone system.
Future Oracle 11g R2 critical patch updates (CPUs) may impact the recommendations included in this document.
https://benchmarks.cisecurity.org/downloads/browse/index.cfm?category=benchmarks.servers
MySQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
MySQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
4 Şubat 2016 Perşembe
20 Kasım 2010 Cumartesi
MySQL-Data klasörünün değiştirilmesi
Çeşitli amaçlarla data klasörünü değiştirmek isteyebilirsiniz.
Ben aşağıdaki gibi bir durumla karşılaştım mesela.
Linux üzerine rpm kurarak mysql server kurduysanız
kurulumun bir parçası olarak "mysql" isminde
bir linux user oluşturulur ve mysql data klasörü
"/var/lib/mysql" klasörü olarak konumlanır.
Bu nedenle de "/var/lib/mysql" altındaki her bir ayrı klasör, ayrı bir database olarak görünür. Bu durum bir miktar sorunu da beraberinde
getirmektedir. Örneğin user a ait desktop verileri Linux işletim
sistemi tarafından "/var/lib/mysql/desktop" klasöründe saklanabilir.
Fakat mysqld, data klasörü olan "/var/lib/mysql" altında bulduğu "desktop"
ismindeki bu klasörün invalid bir database olduğunu varsayar.
Sorun aşağıdaki komutla da tespit edilebilir.
mysql> show databases;
Bu durumu düzeltmek için aşağıdaki adımlar uygulanarak
mysql data klasörü değiştirilir.
1) "mysql" user ı ile database kapatılır.
$ /etc/init.d/mysql stop
2) "root" user ile yeni mysql data klasoru oluşturulur ve
"mysql" user ına bu klasör için yetki verilir.
# mkdir /mysql
# mkdir /mysql/data
# chown -R mysql /mysql/data
3) Aşağıdaki satır, "/var/lib/mysql/my.cnf" dosyasına, "[mysqld]"
etiketi altına eklenir.
datadir=/mysql/data
4) "/var/lib/mysql" klasörü altında bulunan, my.cnf ve işletim sistemi ile ilişkili
dosya ve klasörler hariç tüm dosya ve klasörler "mysql" user ı ile
"/mysql/data" klasörüne taşınır.
5) Database açılır.
/etc/init.d/mysql start
Yukarıdaki adımları mysql 5.1.48 - redhat ile test ettim.
Bir sorun olması durumunda, aksi my.cnf dosyasında belirtilmedikçe
data klasöründe bulunan, "err" uzantılı error log
dosyasını inceleyebilirsiniz.
Ben aşağıdaki gibi bir durumla karşılaştım mesela.
Linux üzerine rpm kurarak mysql server kurduysanız
kurulumun bir parçası olarak "mysql" isminde
bir linux user oluşturulur ve mysql data klasörü
"/var/lib/mysql" klasörü olarak konumlanır.
Bu nedenle de "/var/lib/mysql" altındaki her bir ayrı klasör, ayrı bir database olarak görünür. Bu durum bir miktar sorunu da beraberinde
getirmektedir. Örneğin user a ait desktop verileri Linux işletim
sistemi tarafından "/var/lib/mysql/desktop" klasöründe saklanabilir.
Fakat mysqld, data klasörü olan "/var/lib/mysql" altında bulduğu "desktop"
ismindeki bu klasörün invalid bir database olduğunu varsayar.
Sorun aşağıdaki komutla da tespit edilebilir.
mysql> show databases;
Bu durumu düzeltmek için aşağıdaki adımlar uygulanarak
mysql data klasörü değiştirilir.
1) "mysql" user ı ile database kapatılır.
$ /etc/init.d/mysql stop
2) "root" user ile yeni mysql data klasoru oluşturulur ve
"mysql" user ına bu klasör için yetki verilir.
# mkdir /mysql
# mkdir /mysql/data
# chown -R mysql /mysql/data
3) Aşağıdaki satır, "/var/lib/mysql/my.cnf" dosyasına, "[mysqld]"
etiketi altına eklenir.
datadir=/mysql/data
4) "/var/lib/mysql" klasörü altında bulunan, my.cnf ve işletim sistemi ile ilişkili
dosya ve klasörler hariç tüm dosya ve klasörler "mysql" user ı ile
"/mysql/data" klasörüne taşınır.
5) Database açılır.
/etc/init.d/mysql start
Yukarıdaki adımları mysql 5.1.48 - redhat ile test ettim.
Bir sorun olması durumunda, aksi my.cnf dosyasında belirtilmedikçe
data klasöründe bulunan, "err" uzantılı error log
dosyasını inceleyebilirsiniz.
20 Ekim 2010 Çarşamba
MySQL - Too Many Connections error
"Too Many Connections" hatası çeşitli nedenlerle oluşabilir;
* Aynı anda çok sayıda connection oluşturulması
* Eski connection ların yeteri kadar hızlı serbest bırakılamaması
* Eski konnection ların bir nedenle kapatılmaması
MySQL ayarlarında ve application kodlarında çeşitli
değişiklikler yapılarak bu hata düzeltilir.
KOD SEVİYESİNDE YAPILABİLECEKLER
-----------------------------------------
* Eğer kalıcı bir connection dan bahsetmiyorsak, açılan connection un kapatılmasının
garanti altına alınmış olmalıdır. Aksi taktirde, mesela bir exception sonucu açılan connection nun
close edilmemesi, gibi bir nedenle Too Many Connections error alınabilir. Yada açılan connection un kapatılması unutulmuş olabilir.
* Uzun zaman alan query lerin tune edilmesi
MYSQL SERVER AYARLARI İLE İLGİLİ YAPILABİLECEKLER
---------------------------------------------------
* max_connections parametresinin arttırılması
Açılabilecek max. connection sayısı "max_connections" global değişkeni ile kontrol edilir.
MySQL 5.1.15 ve sonrasında bu değişkenin default değeri 151 gelmektedir.
mysql, max_connectionsparametresi değerinin 1 fazlası kadar bağlantıya izin verir.
Bu bir fazla kısma sadece SUPER yetkisine sahip kullanıcı bağlanabilir.
Bu nedenle de applicationda kullanılan user ın SUPER yetkisine sahip bir user olmaması
önemlidir.
Şu andaki aktif bağlantılar SHOW PROCESSLIST komutu ile görüntülenebilir.
max_connections parametresinin değeri arttırırken dikkatli olmak gereklidir.
Çünkü sonuçta her yeni connection bir miktar sistem kaynağı kullanır.
* max_user_connections parametresinin set edilmesi
Herhangibir user için veya genel olarak bir user ın
açabileceği maximum connection sayısı set edilmelidir.
Default olarak her kullanıcı sınırsız sayıda session açabilir.
* wait_timeout ve interactive_timeout parametrelerinin set edilmesi
Bu parametreler set edilerek, belli bir süre iş yapmayan sessionlar
otomatik olarak sonlandırılabilir.
Default olarak wait_timeout ve interactive_timeout
değişkenlerinin değeri 8 saattir.
Yani mysql e bağlanan kullanıcı hiçbir iş yapmazsa
8 saat sonra connection otomatik kapatılır.
Daha fazla bilgi için aşağıdaki bağlantılar faydalı olacaktır.
http://dev.mysql.com/doc/refman/5.1/en/too-many-connections.html
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_interactive_timeout
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_max_user_connections
* Aynı anda çok sayıda connection oluşturulması
* Eski connection ların yeteri kadar hızlı serbest bırakılamaması
* Eski konnection ların bir nedenle kapatılmaması
MySQL ayarlarında ve application kodlarında çeşitli
değişiklikler yapılarak bu hata düzeltilir.
KOD SEVİYESİNDE YAPILABİLECEKLER
-----------------------------------------
* Eğer kalıcı bir connection dan bahsetmiyorsak, açılan connection un kapatılmasının
garanti altına alınmış olmalıdır. Aksi taktirde, mesela bir exception sonucu açılan connection nun
close edilmemesi, gibi bir nedenle Too Many Connections error alınabilir. Yada açılan connection un kapatılması unutulmuş olabilir.
* Uzun zaman alan query lerin tune edilmesi
MYSQL SERVER AYARLARI İLE İLGİLİ YAPILABİLECEKLER
---------------------------------------------------
* max_connections parametresinin arttırılması
Açılabilecek max. connection sayısı "max_connections" global değişkeni ile kontrol edilir.
MySQL 5.1.15 ve sonrasında bu değişkenin default değeri 151 gelmektedir.
mysql, max_connectionsparametresi değerinin 1 fazlası kadar bağlantıya izin verir.
Bu bir fazla kısma sadece SUPER yetkisine sahip kullanıcı bağlanabilir.
Bu nedenle de applicationda kullanılan user ın SUPER yetkisine sahip bir user olmaması
önemlidir.
Şu andaki aktif bağlantılar SHOW PROCESSLIST komutu ile görüntülenebilir.
max_connections parametresinin değeri arttırırken dikkatli olmak gereklidir.
Çünkü sonuçta her yeni connection bir miktar sistem kaynağı kullanır.
* max_user_connections parametresinin set edilmesi
Herhangibir user için veya genel olarak bir user ın
açabileceği maximum connection sayısı set edilmelidir.
Default olarak her kullanıcı sınırsız sayıda session açabilir.
* wait_timeout ve interactive_timeout parametrelerinin set edilmesi
Bu parametreler set edilerek, belli bir süre iş yapmayan sessionlar
otomatik olarak sonlandırılabilir.
Default olarak wait_timeout ve interactive_timeout
değişkenlerinin değeri 8 saattir.
Yani mysql e bağlanan kullanıcı hiçbir iş yapmazsa
8 saat sonra connection otomatik kapatılır.
Daha fazla bilgi için aşağıdaki bağlantılar faydalı olacaktır.
http://dev.mysql.com/doc/refman/5.1/en/too-many-connections.html
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_interactive_timeout
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_max_user_connections
1 Ekim 2010 Cuma
Adım adım MySQL Replication
Başlangıç olarak master ve slave tarafında MySQL server in kurulu olduğunu,
her iki server için gerekli network ayarlarının yapıldığını varsayıyorum.
Öncelik replikasyon için gerekli olan bazı MySQL server konfigurasyon
ayarlarının her iki taraf için de kontrol edilmesi gerekiyor.
Bu ayarlar işletim sisteminize bağlı olarak my.cnf veya my.ini
dosyası içerisinde bulunabilir. Ben burada işletim sisteminin
linux olduğunu varsayarak devam edeceğim.
1-Master veritabanında slave için user oluşturulması
Master da çalıştırılacak;
mysql> GRANT REPLICATION SLAVE ON *.* TO `slaveuser`@`slave_ip` IDENTIFIED BY '1234';
2-MySQL parametrelerinin ayarlanması
Master için;
[mysqld]
server_id=10
log_bin = mysql-bin
Slave için;
[mysqld]
server_id=20
log_bin = mysql-bin
relay_log = mysql-relay-bin
log_slave_updates = 1
read_only = 1
Burada "server_id" , her database server e farklı atamanız gereken bir tamsayıdır.
Ben bu server_id nin IP adresi ile ilişkilendirerek kullanıyorum.
Mesela, server IP adresi 192.168.2.10 için kullanacağımız server_id de 10 olacak.
3-Master ve slave veritabanlarının kapatılması
Yukarıdaki değişiklikleri yaptıktan sonra server larımızın kapatılıp açılması gerekiyor. Böylece değişikliklerimiz aktif olacak. Şimdi her iki
veritabanını da kapatıyoruz.
Master ve slave de çalıştırılacak;
-bash-3.2$ /etc/init.d/mysql stop
Bu aşamada MySQL server larımızın konfigurasyon dosyaları replikasyona hazır durumda.
4-Master veritabanının slave e kopyalanması
Önce slave veritabanınızın data klasörünü tamamen silin.
Burada my.cnf veya my.ini konfigurasyon dosyası data klasöründeyse bu dosyayı değiştirmemeye/silmemeye dikkat etmeniz yeterli.
Master veritabanına ait data klasörünü slave veritabanımızın data klasörüne kopyalayın. Böylece her iki veri tabanımız eşitlenmiş olacak. (Kopyalama sırasında master hemde slave veritabanları
kapalı olmalı.)
Böylece slave veritabanımızın, master ile aynı olmasını sağlamış olduk.
5-Master ve slave veri tabanlarının açılması
Master ve slave de çalıştırılır;
-bash-3.2$ /etc/init.d/mysql start
6-Slave veritabanının master a bağlanması için gerekli parametrelerin set edilmesi
Aşağıdaki komutu çalıştırarak slave veritabanının master veritabanına
replikasyon için bağlantı parametreleri set edilir.
mysql> CHANGE MASTER TO
MASTER_HOST='ServerIP/FQDN',
MASTER_USER='ReplClient',
MASTER_PASSWORD='ClientPassword';
7-Replikasyonun başlatılması ve kontrol edilmesi
Slave tarafında start slave komutu çalıştırılarak replikasyon başlatılır.
mysql> START SLAVE;
Slave tarafında SHOW SLAVE STATUS komutu ile replikasyon durumu görüntülenir.
Gelen ekranda herhangibir error olmamalıdır.
mysql> SHOW SLAVE STATUS\G
NOTLAR
***************************************
Replikasyonu başlatabilmek için, slave veritabanına , master daki hangi
noktadan değişiklikleri uygulamaya başlayacağını bildirmek gerekiyor.
Bu nedenle master veritabanını kapatmadan slave veritabanı konfigure etmek
ek adımlar ile mümkün. Biz burada master varitabanını kapatıp kopyalarak
her iki veri tabanını eşitleme adımını başarmış olduk.
Eğer başarı ile replikasyonu tamamlayabildiysek,
bundan sonra master a uygulanan ve veritabanında değişiklik yaratan
her query, slave e uygulandığından, slave deki verimiz master dakine
maximum eşitlikte olacaktır. Burada maximum eşitlikte diyorum çünkü
örneğin insert deyimi içinde now() fonksiyonu kullanırsanız
slave tarafındaki veri, master tarafından farklı olabilecektir.
(Statement Based Replication)
Daha fazla bilgi için aşağıdaki linki inceleyebilirsiniz.
http://dev.mysql.com/doc/refman/5.1/en/replication-sbr-rbr.html
Daha fazla bilgi için;
http://dev.mysql.com/doc/refman/5.1/en/replication-howto.html
her iki server için gerekli network ayarlarının yapıldığını varsayıyorum.
Öncelik replikasyon için gerekli olan bazı MySQL server konfigurasyon
ayarlarının her iki taraf için de kontrol edilmesi gerekiyor.
Bu ayarlar işletim sisteminize bağlı olarak my.cnf veya my.ini
dosyası içerisinde bulunabilir. Ben burada işletim sisteminin
linux olduğunu varsayarak devam edeceğim.
1-Master veritabanında slave için user oluşturulması
Master da çalıştırılacak;
mysql> GRANT REPLICATION SLAVE ON *.* TO `slaveuser`@`slave_ip` IDENTIFIED BY '1234';
2-MySQL parametrelerinin ayarlanması
Master için;
[mysqld]
server_id=10
log_bin = mysql-bin
Slave için;
[mysqld]
server_id=20
log_bin = mysql-bin
relay_log = mysql-relay-bin
log_slave_updates = 1
read_only = 1
Burada "server_id" , her database server e farklı atamanız gereken bir tamsayıdır.
Ben bu server_id nin IP adresi ile ilişkilendirerek kullanıyorum.
Mesela, server IP adresi 192.168.2.10 için kullanacağımız server_id de 10 olacak.
3-Master ve slave veritabanlarının kapatılması
Yukarıdaki değişiklikleri yaptıktan sonra server larımızın kapatılıp açılması gerekiyor. Böylece değişikliklerimiz aktif olacak. Şimdi her iki
veritabanını da kapatıyoruz.
Master ve slave de çalıştırılacak;
-bash-3.2$ /etc/init.d/mysql stop
Bu aşamada MySQL server larımızın konfigurasyon dosyaları replikasyona hazır durumda.
4-Master veritabanının slave e kopyalanması
Önce slave veritabanınızın data klasörünü tamamen silin.
Burada my.cnf veya my.ini konfigurasyon dosyası data klasöründeyse bu dosyayı değiştirmemeye/silmemeye dikkat etmeniz yeterli.
Master veritabanına ait data klasörünü slave veritabanımızın data klasörüne kopyalayın. Böylece her iki veri tabanımız eşitlenmiş olacak. (Kopyalama sırasında master hemde slave veritabanları
kapalı olmalı.)
Böylece slave veritabanımızın, master ile aynı olmasını sağlamış olduk.
5-Master ve slave veri tabanlarının açılması
Master ve slave de çalıştırılır;
-bash-3.2$ /etc/init.d/mysql start
6-Slave veritabanının master a bağlanması için gerekli parametrelerin set edilmesi
Aşağıdaki komutu çalıştırarak slave veritabanının master veritabanına
replikasyon için bağlantı parametreleri set edilir.
mysql> CHANGE MASTER TO
MASTER_HOST='ServerIP/FQDN',
MASTER_USER='ReplClient',
MASTER_PASSWORD='ClientPassword';
7-Replikasyonun başlatılması ve kontrol edilmesi
Slave tarafında start slave komutu çalıştırılarak replikasyon başlatılır.
mysql> START SLAVE;
Slave tarafında SHOW SLAVE STATUS komutu ile replikasyon durumu görüntülenir.
Gelen ekranda herhangibir error olmamalıdır.
mysql> SHOW SLAVE STATUS\G
NOTLAR
***************************************
Replikasyonu başlatabilmek için, slave veritabanına , master daki hangi
noktadan değişiklikleri uygulamaya başlayacağını bildirmek gerekiyor.
Bu nedenle master veritabanını kapatmadan slave veritabanı konfigure etmek
ek adımlar ile mümkün. Biz burada master varitabanını kapatıp kopyalarak
her iki veri tabanını eşitleme adımını başarmış olduk.
Eğer başarı ile replikasyonu tamamlayabildiysek,
bundan sonra master a uygulanan ve veritabanında değişiklik yaratan
her query, slave e uygulandığından, slave deki verimiz master dakine
maximum eşitlikte olacaktır. Burada maximum eşitlikte diyorum çünkü
örneğin insert deyimi içinde now() fonksiyonu kullanırsanız
slave tarafındaki veri, master tarafından farklı olabilecektir.
(Statement Based Replication)
Daha fazla bilgi için aşağıdaki linki inceleyebilirsiniz.
http://dev.mysql.com/doc/refman/5.1/en/replication-sbr-rbr.html
Daha fazla bilgi için;
http://dev.mysql.com/doc/refman/5.1/en/replication-howto.html
29 Eylül 2010 Çarşamba
MySQL Replication Hakkında
Replikasyon, eş zamanlıya en yakın backup çözümüdür. Ayrıca okuma isteklerinin ana server dışı serverlere de
yayılması ile ana server in yükünün hafifletilmesi anlamında iyi bir seçenek olabilmektedir.
MySQL, version 5.1 itibariyle iki tür replikasyonu desteklemektedir.
Bunlar statement-based ve row-based replikasyondur.
Statement-based (veya “logical”) replikasyon MySQL 3.23 den beri bulunmaktadır ve
bugünkü çoğu production sisteminde kullanılan replikasyon tipidir.
Row-based replikasyon MySQL 5.1 ile gelen bir özelliktir.
Her iki replikasyon tipi de temelde aynı mantıkla çalışır.
Database üzerinde yapılan değişiklikler master (replike edilecek database)
a ait binary log dosyasına yazılır. Ardında bu değişiklik (event)
slave (kopya database) e uygulanır.
Statement based replication, masterda çalıştırılan ve databasete değişiklik yaratan
query lerin slave de aynen uygulanmasıdır.
Row based replication da ise, değişen data blokları slave e uygulanır.
Bugünlerde Row based replikasyon çok yeni olduğundan dolayı henüz pek yaygın kullanılmıyor.
Fakat gelecekte en az statement based replikasyon kadar yaygınlaşacağını düşünüyorum.
MySQL Replikasyon düşük versiyondan yüksek versiyona doğru genellikle sorunsuz çalışıken
tersi he zaman sorun anlamına gelir.
Tavsiyem master ve slave mysql versiyonlarının aynı olmasıdır.
Replikasyon master sistem üzerinde genellikle çok az yük oluşturur.
Tabi çok sayıda slave olması bu durumu değiştirebilir.
yayılması ile ana server in yükünün hafifletilmesi anlamında iyi bir seçenek olabilmektedir.
MySQL, version 5.1 itibariyle iki tür replikasyonu desteklemektedir.
Bunlar statement-based ve row-based replikasyondur.
Statement-based (veya “logical”) replikasyon MySQL 3.23 den beri bulunmaktadır ve
bugünkü çoğu production sisteminde kullanılan replikasyon tipidir.
Row-based replikasyon MySQL 5.1 ile gelen bir özelliktir.
Her iki replikasyon tipi de temelde aynı mantıkla çalışır.
Database üzerinde yapılan değişiklikler master (replike edilecek database)
a ait binary log dosyasına yazılır. Ardında bu değişiklik (event)
slave (kopya database) e uygulanır.
Statement based replication, masterda çalıştırılan ve databasete değişiklik yaratan
query lerin slave de aynen uygulanmasıdır.
Row based replication da ise, değişen data blokları slave e uygulanır.
Bugünlerde Row based replikasyon çok yeni olduğundan dolayı henüz pek yaygın kullanılmıyor.
Fakat gelecekte en az statement based replikasyon kadar yaygınlaşacağını düşünüyorum.
MySQL Replikasyon düşük versiyondan yüksek versiyona doğru genellikle sorunsuz çalışıken
tersi he zaman sorun anlamına gelir.
Tavsiyem master ve slave mysql versiyonlarının aynı olmasıdır.
Replikasyon master sistem üzerinde genellikle çok az yük oluşturur.
Tabi çok sayıda slave olması bu durumu değiştirebilir.
8 Eylül 2010 Çarşamba
Mysql database kapatma - açma (Linux)
MySQL server şu anki durumu
******************************
/etc/init.d/mysql status
MySQL server başlatma
******************************
/etc/init.d/mysql start
MySQL server durdurma
******************************
/etc/init.d/mysql stop
Bu işlemler root veya mysql kullanıcı ile gerçekleştirilebilir.
******************************
/etc/init.d/mysql status
MySQL server başlatma
******************************
/etc/init.d/mysql start
MySQL server durdurma
******************************
/etc/init.d/mysql stop
Bu işlemler root veya mysql kullanıcı ile gerçekleştirilebilir.
Oracle Enterprise Linux 5 üzerine MySQL Server 5.1 kurulumu
Mysql dökümantasyonunda belirtildiği gibi mysql linux üzerinde geliştirilmektedir.
Bu nedenle de linux, mysql kurulumu için en uygun ortam olmaktadır.
Burada kurulumu özellikle Oracle Enterprise Linux 5 üzerinde gerçekleştiriyorsakta
diğer linux dağıtımları için de prosedür aynıdır.
32 bir işletim sistemleri her proses için en çok 2.4 Gb memory ayırabilmektedir.
Bu nedenle pek çok kurulumda 64 bit işletim sistemi tercih edilmektedir.
Bizde burada 64 OEL dağıtımı üzerine MySQL server kurulumu tamamlıyor olacağız.
Linux üzerindeki MySQL server kurulumu için server ve client rpm paketlerinin kurulumu yeterlidir.
Kurulum aşağıdaki adımlardan oluşur.
* Gerekli RPM paketlerini bilgisayarımıza indiriyoruz.
1. http://dev.mysql.com/downloads/mysql/#downloads adresine gidiyoruz
2. Burada kurulumunu yapacağımız "Red Hat & Oracle Enterprise Linux" seçeneğini seçiyoruz.
3. 64 server ve client rpm ini indiriyoruz.
Bu kurulumda OEL üzerine şu an güncel olan MySQL 5.1.50 64 bit sürümünü kuruyoruz.
Download ettiğim dosyalar aşağıdaki gibidir.
MySQL-client-community-5.1.50-1.rhel5.x86_64.rpm
MySQL-server-community-5.1.50-1.rhel5.x86_64.rpm
* Yukarıdaki rpm dosyalarını, MySQL server kurmak istediğimiz sunucunun "tmp" klasörüne kopyalıyoruz.

* Bu aşamadan sonra sırasıyla server ve client rpm inin kurulumunu tamamlıyacağız.
Kurulum root user ı ile yapılmalıdır. Ayrıca linux işletim sisteminde küçük büyük harf ayrımı olduğu unutulmamalıdır.
Server kurulumu ile başlıyoruz.
[root@deneme tmp]# rpm -i MySQL-server-community-5.1.50-1.rhel5.x86_64.rpm

Bu komut çalıştırıldığında bir dizi olay arka planda gerçekleşmiştir.
1. Linux üzerinde mysql kullanıcı hesabı ve mysql grup hesabı oluşturulur.
2. MySQL dosyaları RPM paketinden çıkartılarak uygun klasörlere kopyalanır.
3. MySQL yönetimsel database ilk kullanıma hazırlanır.
4. MySQL ile alakalı klasörlerin sahiplik durumu düzenlenir.
5. MySQL server başlatılır.
6 MySQL server , her Linux restart ında otomatik çalışacak şekilde konfigure edilir.
Server kurulumunun tamamlanmasının ardından client kurulumuna geçilebilir.
[root@deneme tmp]# rpm -i MySQL-client-community-5.1.50-1.rhel5.x86_64.rpm
Bu noktada MySQL server kurulumu tamamlanmıştır.
Bu nedenle de linux, mysql kurulumu için en uygun ortam olmaktadır.
Burada kurulumu özellikle Oracle Enterprise Linux 5 üzerinde gerçekleştiriyorsakta
diğer linux dağıtımları için de prosedür aynıdır.
32 bir işletim sistemleri her proses için en çok 2.4 Gb memory ayırabilmektedir.
Bu nedenle pek çok kurulumda 64 bit işletim sistemi tercih edilmektedir.
Bizde burada 64 OEL dağıtımı üzerine MySQL server kurulumu tamamlıyor olacağız.
Linux üzerindeki MySQL server kurulumu için server ve client rpm paketlerinin kurulumu yeterlidir.
Kurulum aşağıdaki adımlardan oluşur.
* Gerekli RPM paketlerini bilgisayarımıza indiriyoruz.
1. http://dev.mysql.com/downloads/mysql/#downloads adresine gidiyoruz
2. Burada kurulumunu yapacağımız "Red Hat & Oracle Enterprise Linux" seçeneğini seçiyoruz.
3. 64 server ve client rpm ini indiriyoruz.
Bu kurulumda OEL üzerine şu an güncel olan MySQL 5.1.50 64 bit sürümünü kuruyoruz.
Download ettiğim dosyalar aşağıdaki gibidir.
MySQL-client-community-5.1.50-1.rhel5.x86_64.rpm
MySQL-server-community-5.1.50-1.rhel5.x86_64.rpm
* Yukarıdaki rpm dosyalarını, MySQL server kurmak istediğimiz sunucunun "tmp" klasörüne kopyalıyoruz.

* Bu aşamadan sonra sırasıyla server ve client rpm inin kurulumunu tamamlıyacağız.
Kurulum root user ı ile yapılmalıdır. Ayrıca linux işletim sisteminde küçük büyük harf ayrımı olduğu unutulmamalıdır.
Server kurulumu ile başlıyoruz.
[root@deneme tmp]# rpm -i MySQL-server-community-5.1.50-1.rhel5.x86_64.rpm

Bu komut çalıştırıldığında bir dizi olay arka planda gerçekleşmiştir.
1. Linux üzerinde mysql kullanıcı hesabı ve mysql grup hesabı oluşturulur.
2. MySQL dosyaları RPM paketinden çıkartılarak uygun klasörlere kopyalanır.
3. MySQL yönetimsel database ilk kullanıma hazırlanır.
4. MySQL ile alakalı klasörlerin sahiplik durumu düzenlenir.
5. MySQL server başlatılır.
6 MySQL server , her Linux restart ında otomatik çalışacak şekilde konfigure edilir.
Server kurulumunun tamamlanmasının ardından client kurulumuna geçilebilir.
[root@deneme tmp]# rpm -i MySQL-client-community-5.1.50-1.rhel5.x86_64.rpm
Bu noktada MySQL server kurulumu tamamlanmıştır.
Kaydol:
Kayıtlar (Atom)