Hoşuma giden bir ev tasarımı.
Hayal edilesi bir ev tasarımı.
Daha fazla detay ve resim için : http://www.archilovers.com/p70830/SH-HOUSE
Posted in Ev Tasarımları, Tasarım on November 28th, 2012 by Kürşad DARA | | 0 Comments
linux sunucusunun maksimum kac gb ram desteklediğini ve kaç slot un boş olduğunu bulmak için
Linux sunucunuzun desteklediği maksimum ram ve slot sayısını bulmak icab ederse;
[root@xxx ~]# dmidecode -t 16 # dmidecode 2.11 SMBIOS 2.5 present. Handle 0x002A, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: Single-bit ECC Maximum Capacity: 288 GB Error Information Handle: Not Provided Number Of Devices: 18
Ayrıca kaç adet slot boşta görebilmek için http://www.4schmidts.com/unix/memconf.gz adresinden memconf u indirin ve sisteminize kurun.
dmidecode ile uğraşırsanız scripte gerek kalmadan bulabilirsiniz.
Daha sonra;
[root@xxx ~]# perl memconf -v memconf: V3.02 02-Oct-2012 http://www.4schmidts.com/unix.html hostname: xxx manufacturer: FUJITSU model: PRIMERGY RX300 S6 (Quad-Core Hyper-Threaded Intel(R) Xeon(R) E5620 2400MHz) CentOS release 6.3 (Final), 64-bit kernel, Linux 2.6.32-279.11.1.el6.x86_64 CPU 1: Intel(R) Xeon(R) E5620 2400MHz cpu CPU 2: Unpopulated Memory Error Correction: Single-bit ECC Maximum Memory: 294912MB (288GB) DIMM-1A n/a: 4096MB 1066MHz Synchronous DDR3 DIMM, n/a n/a DIMM-2A n/a: 8192MB 1066MHz Synchronous DDR3 DIMM, n/a n/a DIMM-1B n/a: 4096MB 1066MHz Synchronous DDR3 DIMM, n/a n/a DIMM-1C n/a: 8192MB 1066MHz Synchronous DDR3 DIMM, n/a n/a empty memory sockets: DIMM-3A n/a, DIMM-2B n/a, DIMM-3B n/a, DIMM-2C n/a, DIMM-3C n/a, DIMM-1D n/a, DIMM-2D n/a, DIMM-3D n/a, DIMM-1E n/a, DIMM-2E n/a, DIMM-3E n/a, DIMM-1F n/a, DIMM-2F n/a, DIMM-3F n/a total memory = 24576MB (24GB)
Posted in Console, Linux on November 27th, 2012 by Kürşad DARA | | 0 Comments
mysql ile dump alırken bazı tabloları dahil etmemek için
–ignore-table parametresini kullanabilirsiniz.
mysqldump --ignore-table=db_ismi.table1 --ignore-table=db_ismi.table2 db_ismi > dump.sql
Posted in Linux, MySQL, Veritabanları on November 23rd, 2012 by Kürşad DARA | | 0 Comments
Innodb veritabanları için ibdata1’in dosyasının boyutunu küçültme (shrink edilmesi )
Innodb veritabanı kullanıyorsanız bir süre sonra ibdata1 dosyanızın çok fazla büyüdüğünü göreceksiniz.
Bu dosyanın büyümesi performans ve disk kullanımı açısından problem yaratacaktır. MySQL üstünde bu dosyanın küçültülmesi ile ilgili direk bir komut yok. O yüzden biraz çetrefilli bir yöntemle bu dosyanın boyutunu küçültmek gerekiyor.
Kısaca;
1. MySQL sunucuyu durdurun,
2. MySQL data dizinini komple yedekleyin,
3. MySQL sunucuyu tekrar başlatın,
4. Veritabanının yedeğini mysqldump ile alın,
5. Veritabanlarını silin,
6. MySQL sunucuyu tekrar durdurun,
7. ibdata1, ib_logfile0 ve ib_logfile1 dosyalarını silin,
8. MySQL sunucuyu tekrar çalıştırın,
9. Aldığınız yedeği tekrar yükleyin ( import )
bu adımlarla bu işlemi yapıyoruz.
Detaylara gelirsek;
1. MySQL sunucuyu durdurun.
2. MySQL data dizininin tamamını yedekleyin. Böylece herhangi bir sorun halinde geri dönmemiz kolay olacaktır.
3. MySQL sunucuyu tekrar başlatın.
4. Öncelikle veritabanının yedeğini alıyoruz.
/usr/bin/mysqldump --opt --routines --triggers --all-databases > all.sql
Yedeğin sağlık ve hatasız bir şekilde alındığından emin olun.
5. Veribanlarını drop ile silin.
6. MySQL sunucuyu tekrar durdurun.
7. MySQL data dizininde bulunan ibdata1, ib_logfile0 ve ib_logfile1 dosyalarını silin.
8. MySQL sunucuyu tekrar başlatın. MySQL sunucusunu çalıştırmadan önce. Konfigürasyon dosyanıza ( my.cnf )
innodb_file_per_table
parametresini ekleyin. Böylece artık her tablo için daha küçük bir ibd oluşmasını sağlayacaktır. Bu sayede ilerde çok büyüyen tabloları dump ve restore edip downtime yaşanmadan bu işlemleri yapabilir olursunuz.
Detaylı bilgi için : http://dev.mysql.com/doc/refman/5.6/en/innodb-multiple-tablespaces.html
9. Şimdi mysqldump ile aldığımız dosyayı tekrar import edip veritabanlarını tekrar yükleyin.
/usr/bin/mysql < all.sql
Posted in Linux, MySQL on November 21st, 2012 by Kürşad DARA | | 0 Comments
MySQL’de fragmented olmuş tabloları bulma ve optimize etme
Aşağıdaki query ile fragmented tabloları bulabilirsiniz.
mysql> select TABLE_NAME,Data_free from information_schema.TABLES where TABLE_SCHEMA NOT IN ('information_schema','mysql') and Data_free > 0;
mysql> OPTIMIZE TABLE tablo_adi
şeklinde optimize edebilirsiniz. Bu işlem performansı artıracaktır.
Aşağıdaki script te otomatize edilmiş halde yapabilirsiniz. ( Google search )
#!/bin/sh echo -n "MySQL username: " ; read username echo -n "MySQL password: " ; stty -echo ; read password ; stty echo ; echo mysql -u $username -p"$password" -NBe "SHOW DATABASES;" | grep -v 'lost+found' | while read database ; do mysql -u $username -p"$password" -NBe "SHOW TABLE STATUS WHERE engine='MyISAM';" $database | while read name engine version rowformat rows avgrowlength datalength maxdatalength indexlength datafree autoincrement createtime updatetime checktime collation checksum createoptions comment ; do if [ "$datafree" -gt 0 ] ; then fragmentation=$(($datafree * 100 / $datalength)) echo "$database.$name is $fragmentation% fragmented." mysql -u "$username" -p"$password" -NBe "OPTIMIZE TABLE $name;" "$database" fi done done
Posted in Linux, MySQL on November 20th, 2012 by Kürşad DARA | | 0 Comments
Kullandığınız MySQL sunucunun 32 bit mi 64 bit mi olduğunu anlamak
Bunu anlamak için 2 yöntem var aslında ikisi de aynı kapıya çıkıyor.
1. Komut satırından
[root@mgw03 ~]# mysql -V mysql Ver 14.14 Distrib 5.5.16, for Linux (x86_64) using readline 5.1
2. MySQL konsolundan
mysql> \s ( veya status ) -------------- mysql Ver 14.14 Distrib 5.5.16, for Linux (x86_64) using readline 5.1 Connection id: 9 Current database: Current user: kursad@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.16-log MySQL Community Server (GPL) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 2 min 42 sec Threads: 1 Questions: 134612 Slow queries: 0 Opens: 136 Flush tables: 1 Open tables: 129 Queries per second avg: 830.938 --------------
Posted in Linux, MySQL on November 19th, 2012 by Kürşad DARA | | 0 Comments
mySQL Too many open files hatası
MySQL loglarında aşağıdaki hatayla karşılaşabilirsiniz.
121117 23:21:03 InnoDB: Operating system error number 24 in a file operation. InnoDB: Error number 24 means 'Too many open files'.
Çözüm için my.cnf dosyanıza;
innodb_open_files=24000 open-files-limit=96000
Burada dikkat edilecek nokta open-files-limit parametresinin değeri innodb_open_files parametresinin yaklaşık 4-5 katı olarak set etmeniz.
MySQL i yeniden başlattığınızda sorun çözülecektir.
Detay için : http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_open-files-limit
Posted in Linux, MySQL on November 17th, 2012 by Kürşad DARA | | 0 Comments
[Warning] IP address ‘xxx.xxx.xxx.xxx’ could not be resolved: Name or service not known hatası
MySQL log dosyasında aşağıdaki gibi bir hata alıyorsanız. Çözümü basit.
[Warning] IP address 'xxx.xxx.xxx.xxx' could not be resolved: Name or service not known
Muhtelemen sisteminizde username@xxx.xxx.xxx.xxx şeklinde bir kullanıcınız var.
Ve eğer MySQL skip-name-resolve parametresi ile açılmamış ise girdiğiniz xxx.xxx.xxx.xxx ipsinin dns kaydını sorgulayacaktır.
Bu açıdan my.cnf dosyanıza skip-name-resolve parametresi girip bu sorunu çözebilirsiniz.
skip-name-resolve
Tercihim skip-name-resolve kullanmaktan yana. Böylece MySQL dns sorgulaması ile uğraşmamış olur.
Posted in Linux, MySQL on November 17th, 2012 by Kürşad DARA | | 0 Comments
InnoDB en ideal log file size belirleme.
InnoDB kullandığınız yerlerde en ideal log file size ayarlamak için aşağıdaki gibi bir test yapabilirsiniz.
Bu işlem mySQL’de InnoDB veritabanlarının 1 dakikada aşağı yukarı ne kadar log yazdığını görüyoruz.
Bu işlemi veritabanının en yoğun zamanlarında yapmanız önerilir.
Öncelikle istediğimiz veriyi alabilmemiz için pager komutu ile sequenceleri yakalıyoruz.
mysql> pager grep sequence PAGER set to 'grep sequence'
Sonra aşağıdaki gibi show innodb status çıktısını 1 dakika aralıklarla çalıştırıp başlangıç ve bitişte ne kadar log yazmış onu buluyoruz.
mysql> show engine innodb status\G select sleep(60); show engine innodb status\G Log sequence number 156081984562 1 row in set (0.00 sec) 1 row in set (59.99 sec) Log sequence number 156092992419 1 row in set (0.00 sec)
Daha sonra pager i tekrar sıfırlıyoruz.
mysql> pager Default pager wasn't set, using stdout.
Şimdi aradaki farklı Mb cinsinden buluyoruz.
mysql> select ( 156092992419 - 156081984562 ) / 1024 / 1024 as mb; +-------------+ | mb | +-------------+ | 10.49791050 | +-------------+ 1 row in set (0.00 sec)
Buradan anladığımız dakikada 10 mb veri yazılmış.
Saatlik bazda bakarsak 60*10=600MB.
innodb_log_file_size parametresini 600-700 Mb arası yapabiliriz.
Yukarıda yaptığımız testi mySQL 5.0 dan sonra SHOW GLOBAL STATUS komutu ile görebiliriz.
Bu komut çıktısındaki Innodb_os_log_written parametresinden de elde edebiliriz.
mysql> SHOW GLOBAL STATUS like '%Innodb_os_log_written%'; +-----------------------+-----------+ | Variable_name | Value | +-----------------------+-----------+ | Innodb_os_log_written | 632924672 | +-----------------------+-----------+ 1 row in set (0.00 sec)
Posted in Linux, MySQL on November 16th, 2012 by Kürşad DARA | | 0 Comments
myisam ve innodb veritabanları için key_buffer_size ve innodb_buffer_pool_size hesaplayan query
İşinize yarayabilir.
Myisam için;
SELECT CONCAT(ROUND(KBS/POWER(1024, IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.4999), SUBSTR(' KMG',IF(PowerOf1024<0,0, IF(PowerOf1024>3,0,PowerOf1024))+1,1)) recommended_key_buffer_size FROM (SELECT LEAST(POWER(2,32),KBS1) KBS FROM (SELECT SUM(index_length) KBS1 FROM information_schema.tables WHERE engine='MyISAM' AND table_schema NOT IN ('information_schema','mysql')) AA ) A, (SELECT 2 PowerOf1024) B;
mysql> SELECT CONCAT(ROUND(KBS/POWER(1024, -> IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.4999), -> SUBSTR(' KMG',IF(PowerOf1024<0,0, -> IF(PowerOf1024>3,0,PowerOf1024))+1,1))inn -> recommended_key_buffer_size FROM -> (SELECT LEAST(POWER(2,32),KBS1) KBS -> FROM (SELECT SUM(index_length) KBS1 -> FROM information_schema.tables -> WHERE engine='MyISAM' AND -> table_schema NOT IN ('information_schema','mysql')) AA ) A, -> (SELECT 2 PowerOf1024) B; +-----------------------------+ | recommended_key_buffer_size | +-----------------------------+ | 2095M | +-----------------------------+ 1 row in set (43.45 sec)
InnoDB için;
SELECT CONCAT(ROUND(KBS/POWER(1024, IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.49999), SUBSTR(' KMG',IF(PowerOf1024<0,0, IF(PowerOf1024>3,0,PowerOf1024))+1,1)) recommended_innodb_buffer_pool_size FROM (SELECT SUM(data_length+index_length) KBS FROM information_schema.tables WHERE engine='InnoDB') A, (SELECT 2 PowerOf1024) B;
mysql> SELECT CONCAT(ROUND(KBS/POWER(1024, -> IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.49999), -> SUBSTR(' KMG',IF(PowerOf1024<0,0, -> IF(PowerOf1024>3,0,PowerOf1024))+1,1)) recommended_innodb_buffer_pool_size -> FROM (SELECT SUM(data_length+index_length) KBS FROM information_schema.tables -> WHERE engine='InnoDB') A, -> (SELECT 2 PowerOf1024) B; +-------------------------------------+ | recommended_innodb_buffer_pool_size | +-------------------------------------+ | 93089M | +-------------------------------------+ 1 row in set (35.77 sec)
Kaynak : http://dba.stackexchange.com/questions/1/what-are-the-main-differences-between-innodb-and-myisam/2194#2194
Posted in Linux, MySQL on November 16th, 2012 by Kürşad DARA | | 0 Comments
Next Page »