{"id":196,"title":"SQL Notlar\u0131: mysqlimport ve mysqldump","content":"<p>MySQL, veri y\u00f6netimi ve yedekleme i\u015flemleri i\u00e7in g\u00fc\u00e7l\u00fc ara\u00e7lar sunar. Bu yaz\u0131da, **mysqlimport** ve **mysqldump** ara\u00e7lar\u0131n\u0131n temel kullan\u0131m\u0131n\u0131 ve bu ara\u00e7larla ger\u00e7ekle\u015ftirilebilecek i\u015flemleri ele alaca\u011f\u0131z.<\/p><p>---<\/p><p>### `mysqlimport` ile Veri \u0130\u00e7e Aktarma<\/p><p>`mysqlimport`, metin dosyalar\u0131ndaki verileri MySQL tablolar\u0131na h\u0131zl\u0131 bir \u015fekilde aktarmak i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r. Bu ara\u00e7, \u00f6zellikle b\u00fcy\u00fck veri k\u00fcmelerini veritaban\u0131na aktarmak i\u00e7in olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r.<\/p><p>#### Temel Kullan\u0131m<br>\u00d6rnek bir metin dosyas\u0131 (`employee.txt`) a\u015fa\u011f\u0131daki gibi olsun:<\/p><p>```<br>1 \\t Arthur Dent<br>2 \\t Marvin<br>3 \\t Zaphod Beeblebrox<br>```<\/p><p>Bu dosyay\u0131 bir MySQL tablosuna aktarmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p><p>```bash<br>mysqlimport --user=user --password=password mycompany employee.txt<br>```<\/p><p>Bu komut, `employee.txt` dosyas\u0131ndaki verileri `mycompany` veritaban\u0131ndaki `employee` tablosuna aktar\u0131r.<\/p><p>#### \u00d6zel Alan Ay\u0131r\u0131c\u0131 Kullan\u0131m\u0131<br>E\u011fer dosyadaki alanlar farkl\u0131 bir karakterle ayr\u0131lm\u0131\u015fsa (\u00f6rne\u011fin `!`), `--fields-terminated-by` se\u00e7ene\u011fini kullanabilirsiniz:<\/p><p>```bash<br>mysqlimport --fields-terminated-by='!' mycompany employee.txt<br>```<\/p><p>#### Yinelenen Anahtarlar\u0131 Y\u00f6netme<br>E\u011fer tabloda yinelenen anahtarlar varsa, `--ignore` veya `--replace` se\u00e7eneklerini kullanabilirsiniz:<\/p><p>- `--ignore`: Yinelenen anahtarlar\u0131 g\u00f6rmezden gelir.<br>- `--replace`: Yinelenen anahtarlar\u0131 yeni verilerle de\u011fi\u015ftirir.<\/p><p>```bash<br>mysqlimport --ignore mycompany employee.txt<br>mysqlimport --replace mycompany employee.txt<br>```<\/p><p>---<\/p><p>### `mysqldump` ile Veri Yedekleme<\/p><p>`mysqldump`, MySQL veritabanlar\u0131n\u0131 yedeklemek i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r. Bu ara\u00e7, veritaban\u0131n\u0131n tamam\u0131n\u0131 veya belirli tablolar\u0131 SQL format\u0131nda d\u0131\u015fa aktar\u0131r.<\/p><p>#### Veritaban\u0131 Yedekleme<br>Bir veritaban\u0131n\u0131n tamam\u0131n\u0131 yedeklemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p><p>```bash<br>mysqldump -u username -p db_name &gt; backup.sql<br>```<\/p><p>Bu komut, `db_name` veritaban\u0131n\u0131 `backup.sql` dosyas\u0131na aktar\u0131r.<\/p><p>#### Birden Fazla Veritaban\u0131n\u0131 Yedekleme<br>Birden fazla veritaban\u0131n\u0131 yedeklemek i\u00e7in `--databases` se\u00e7ene\u011fini kullanabilirsiniz:<\/p><p>```bash<br>mysqldump -u username -p --databases db1 db2 &gt; backup.sql<br>```<\/p><p>#### Tablo Yedekleme<br>Belirli bir tabloyu yedeklemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p><p>```bash<br>mysqldump -u username -p db_name table_name &gt; table_backup.sql<br>```<\/p><p>#### Yedekten Geri Y\u00fckleme<br>Yedeklenen bir veritaban\u0131n\u0131 geri y\u00fcklemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p><p>```bash<br>mysql -u username -p db_name &lt; backup.sql<br>```<\/p><p>---<\/p><p>### \u0130leri Seviye Kullan\u0131m \u00d6rnekleri<\/p><p>#### S\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f Yedekleme<br>Yedekleme s\u0131ras\u0131nda dosyay\u0131 s\u0131k\u0131\u015ft\u0131rmak i\u00e7in `gzip` kullanabilirsiniz:<\/p><p>```bash<br>mysqldump -u username -p db_name | gzip &gt; backup.sql.gz<br>```<\/p><p>#### Uzak Sunucudan Yedekleme<br>Uzak bir sunucudan yedek almak i\u00e7in `-h` se\u00e7ene\u011fini kullanabilirsiniz:<\/p><p>```bash<br>mysqldump -h remote_host -u username -p db_name &gt; backup.sql<br>```<\/p><p>#### Sakl\u0131 Prosed\u00fcrler ve Fonksiyonlarla Yedekleme<br>Sakl\u0131 prosed\u00fcrler ve fonksiyonlar\u0131 da yedeklemek i\u00e7in `--routines` se\u00e7ene\u011fini ekleyin:<\/p><p>```bash<br>mysqldump -u username -p -R db_name &gt; backup_with_routines.sql<br>```<\/p><p>---<\/p><p>### Sonu\u00e7<\/p><p>`mysqlimport` ve `mysqldump`, MySQL veritabanlar\u0131n\u0131 y\u00f6netmek ve yedeklemek i\u00e7in vazge\u00e7ilmez ara\u00e7lard\u0131r. Bu ara\u00e7lar, b\u00fcy\u00fck veri k\u00fcmelerini verimli bir \u015fekilde y\u00f6netmenize ve yedeklemenize olanak tan\u0131r. Do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda, bu ara\u00e7lar veritaban\u0131 y\u00f6netimini kolayla\u015ft\u0131r\u0131r ve veri g\u00fcvenli\u011fini art\u0131r\u0131r. Bu y\u00f6ntemleri uygularken, veri tutarl\u0131l\u0131\u011f\u0131n\u0131 korumak ve olas\u0131 hatalar\u0131 dikkatlice y\u00f6netmek \u00f6nemlidir.<\/p>","excerpt":"MySQL, veri y\u00f6netimi ve yedekleme i\u015flemleri i\u00e7in g\u00fc\u00e7l\u00fc ara\u00e7lar sunar. Bu yaz\u0131da, **mysqlimport** ve **mysqldump** ara\u00e7lar\u0131n\u0131n temel kullan\u0131m\u0131n\u0131 ve bu ara\u00e7larla ger\u00e7ekle\u015ftirilebilecek i\u015flemleri ele alaca\u011f\u0131z.","created_at":"2025-01-13 15:50:36","updated_at":"2026-09-06 16:24:45","category_id":9,"view_count":554,"reading_time":3,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-01-13 15:50:36","featured_image":"resimyok.jpg","slug":"sql-notlari-mysqlimport-ve-mysqldump","category_name":"Yaz\u0131l\u0131m","category_slug":"yazilim","category_color":"#ef4444"}