Yukarıdaki bağlantıda gösterildiği gibi, tüm veritabanının içeriği dışa aktarılır, şartlarla dışa aktarılabilir mi? Tabii ki yapabilirsin!
Komut:
Parametre analizi:
- -h: Veritabanı adresini belirtin
- --port: Veritabanı portunu belirtin, varsayılan port 3306 ise, bu portu atlayabilir
- -U: Hesap numarası
- -P: Şifre
- db_name: Bu, hangi veritabanının dışa aktarılacağına işaret eder
- tab_name: Bu, hangi tablonun ihracat edileceğine işaret eder
- --burada: Veri filtreleme kriterleri
- --no-create-info: CREATE TABLE ifadesi eklemeden sadece verileri dışa aktarır.
Sonunda, depolamayı dışa aktarmanız gereken yere giden yolu takip edin.
Göstermek:
-t: Sadece veri yönlendirme
--burada: koşul
--triggers=yanlış: Tetikleyicileri yönlendirme
--replace: INSERT INTO ile REPLACE INTO ile değiştir
Parametreler:
--tüm-veritabanları, -A
Tüm veritabanlarını dışa aktar.
mysqldump -uroot -p --all-databases
--tüm tablo alanları, -Y
Tüm tablo alanlarını dışa aktarın.
mysqldump -uroot -p --all-databases --all-tablespaces
--tablo boşlukları yok, -y
Hiçbir tablo alanı bilgisi dışa aktarılmaz.
mysqldump -uroot -p --all-databases --no-tablespaces
--ekle-bırak-veritabanı
Her veritabanı oluşturulmadan önce bir drop veritabanı ifadesi ekleyin.
mysqldump -uroot -p --all-databases --add-drop-database
--ekle-bırak-tablo
Her veri tablosu oluşturulmadan önce bir drop table ifadesi ekleyin. (Varsayılan açık, iptal etmek için --skip-add-drop-table seçeneğini kullanın)
mysqldump -uroot -p --all-databases (varsayılan olarak drop ifadesi ekleyin)
MySQLDUMP -uroot -p --all-databases –skip-add-drop-table (undrop ifadesi)
--kilitler
Her tablo dışına aktarmadan önce KILITLEME TABLOLARI ekleyin ve ardından TABLOYU AÇIN. (varsayılan açık, iptal etmek için --skip-add-locks seçeneğini kullanın)
mysqldump -uroot -p --all-databases (LOCK ifadesi varsayılan olarak eklenir)
MySQLDUMP -uroot -p --all-databases –skip-add-locks (unlock statement)
--izin ver-anahtar kelimeler
Anahtar kelime sütun adlarının oluşturulmasına izin verir. Bu, her sütun adına tablo adının öneklenmesiyle yapılır.
mysqldump -uroot -p --all-databases --allow-keywords
--apply-slave-ifadeleri
İhracatın sonunda 'STOP SLAVE' ve 'START SLAVE' yerine 'STOP SLAVE' ekleyin.
mysqldump -uroot -p --all-databases --apply-slave-statements
--karakter-setleri-direksiyon
Karakter seti dosyalarının dizini
mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets
--yorumlar
Ek not bilgisi. Varsayılan olarak açıktır ve --skip-comments ile iptal edilebilir
mysqldump -uroot -p --all-databases (varsayılan kayıt yorumları)
mysqldump -uroot -p --all-databases --skip-comments (yorumu kaldır)
--uyumlu
İxraca aktarılan veriler, diğer veritabanları veya MySQL'in eski sürümleriyle uyumlu olacaktır. Değerler ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options vb. olabilir.
Birkaç değeri kullanmak için, onları virgülle aralıkla ayırın. Tam uyumlu olacağı garanti değil, ama mümkün olduğunca çok uygun.
mysqldump -uroot -p --all-databases --compatible=ansi
--compact
Daha az çıktı bilgisi dışa aktarın (hata ayıklama için). Açıklamalar ve yazı ve tura gibi yapıları kaldırın. Seçenek mevcuttur: --skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys
mysqldump -uroot -p --all-databases --compact
--tamamla-ekle, -c
Tam insert ifadesini kullanın (sütun adı dahil). Bu, yerleştirme verimliliğini artırabilir, ancak max_allowed_packet parametrelerden etkilenebilir ve yerleştirme hatalarına yol açabilir.
mysqldump -uroot -p --all-databases --complete-insert
--sıkıştır, -C
İstemci ile sunucu arasında tüm bilgileri iletmek için sıkıştırmayı etkinleştirin
mysqldump -uroot -p --all-databases --compress
--seçenekler yarat, -a
Tüm MySQL özellik seçeneklerini CREATE TABLE ifadesine dahil edin. (Varsayılan açık)
mysqldump -uroot -p --all-databases
--veritabanları, -B
Birkaç veritabanı dışa aktarın. Parametreden sonraki tüm isim parametreleri veritabanı adları olarak kabul edilir.
mysqldump -uroot -p --databases test mysql
--debug
Hata ayıklama için çıktı hata ayıklama bilgisi. Varsayılan değer: d:t:o,/tmp/mysqldump.trace
mysqldump -uroot -p --all-databases --debug
mysqldump -uroot -p --all-databases --debug=" d:t:o,/tmp/debug.trace"
--hata hata kontrolü
Belleği kontrol edin, dosya talimatlarını açın ve çıkış yapın.
mysqldump -uroot -p --all-databases --debug-check
--debug-info
Çıkış hata hata ayıklama bilgisi ve çıkış
mysqldump -uroot -p --all-databases --debug-info
--varsayılan karakter seti
Varsayılan karakter setini ayarlayın, varsayılan değer utf8'dir
mysqldump -uroot -p --all-databases --default-character-set=latin1
--delayed-insert
Veri dışa aktarmak için DELAYED INSERT
mysqldump -uroot -p --all-databases --delayed-insert
--ana günlükleri sil
Ana yedekleme kayıtları siler. Bu parametre otomatik olarak --master-data aktive olur.
MySQLDUMP -uroot -p --all-databases --delete-master-logs
--devre dışı bırak-anahtarlar
Her tablo için /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; ve /*!40000 ALTER TABLE tbl_name ENABLE KEYS */; Bu ifade INSERT ifadesine atıfta bulunur. Bu, tüm satırlar eklendikten sonra bir indeks oluşturarak dökülmüş dosyaların daha hızlı içe aktarılmasını sağlar. Bu seçenek yalnızca MyISAM tabloları için geçerlidir ve varsayılan olarak açık duruma sahiptir.
mysqldump -uroot -p --all-databases
--dump-slave
Bu seçenek, ana binlog konumu ve dosya adının, dışa aktarılan verinin eklendiği dosyaya eklenmesine neden olur. 1 olarak ayarlandığında, CHANGE MASTER komutu veri dosyasına çıktı için kullanılır. 2 olarak ayarlandığında, komuttan önce açıklayıcı bilgiler ekleyin. Bu seçenek, --lock-all-tables seçeneği belirtilmedikçe açılır. Bu seçenek, --lock-tables seçeneğini otomatik olarak kapatır. Varsayılan değer 0'dır.
mysqldump -uroot -p --all-databases --dump-slave=1
mysqldump -uroot -p --all-databases --dump-slave=2
--olaylar, -E
İhracat etkinlikleri.
mysqldump -uroot -p --all-databases --events
--genişletilmiş ekleme, -e
INSERT sözdizimini birden fazla VALUES sütunlu kullanın. Bu da dosya dışa aktarmayı küçültür ve içe aktarmayı hızlandırır. Varsayılan olarak açık duruma, iptal etmek için --skip-extended-insert seçeneğini kullanın.
mysqldump -uroot -p --all-databases
mysqldump -uroot -p --all-databases--skip-extended-insert (seçicisiz)
--alanlar-sonlanmış-
Dışa aktarma dosyasında verilen alanları görmezden gelin. --tab seçeneğiyle kullanılıyor, --veritabanları ve --all-veritabanları seçenekleri için değil
mysqldump -uroot -p test testi --tab="/home/mysql" --fields-terminated-by="#"
--alanlar-kapalı-
Çıktı dosyasındaki bireysel alanlar verilen karakterlerle sarılır. --tab seçeneğiyle kullanılıyor, --veritabanları ve --all-veritabanları seçenekleri için değil
mysqldump -uroot -p test testi --tab="/home/mysql" --fields-enclosed-by="#"
--alanlar-isteğe bağlı olarak kapalı-
Çıktı dosyasındaki alanlar, verilen karakterlerle seçici olarak sarılır. --tab seçeneğiyle kullanılıyor, --veritabanları ve --all-veritabanları seçenekleri için değil
mysqldump -uroot -p test testi --tab="/home/mysql" --fields-enclosed-by="#" --fields-optionally-enclosed-by ="#"
--fields-escaped-by
Çıktı dosyasındaki bireysel alanlar verilen karakterleri görmezden gelir. --tab seçeneğiyle kullanılıyor, --veritabanları ve --all-veritabanları seçenekleri için değil
mysqldump -uroot -p mysql kullanıcı --tab="/home/mysql" --fields-escaped-by="#"
--düz-günükler
Dışa aktarmaya başlamadan önce günlükleri yenileyin.
Lütfen dikkat edin: birden fazla veritabanını aynı anda dışa aktarırsanız (--veritabanları veya --all-databases seçeneklerini kullanarak), loglar veritabanı veritabanı bazında yenilenir. Ama --lock-all-tables veya --master-data kullanıldığında. Bu durumda, log bir kez yenilenir ve ilgili tablo aynı anda kilitlenir. Bu nedenle, günlükleri aynı anda dışa aktarıp temizlemeyi planlıyorsanız, --lock-all-tables veya --master-data ve --flush-logs kullanmalısınız.
mysqldump -uroot -p --all-databases --flush-logs
--yıkama ayrıcalıkları
Mysql veritabanını dışa aktardıktan sonra bir FLUSH PRIVILEGES ifadesi verin. Doğru kurtarma için, bu seçenek MySQL veritabanı ve bağımlı MySQL veritabanı verilerini her zaman dışa aktarmak için kullanılmalıdır.
MySQLDUMP -uroot -p --all-databases --flush-privileges
--kuvvet
Dışa aktarma sırasında ortaya çıkan SQL hatalarını görmezden gelin.
mysqldump -uroot -p --all-databases --force
--Yardım
Yardım bilgilerini göster ve çıkış.
mysqldump --yardım
--hex-blob
İkili dize alanlarını altıgen formatla dışa aktarın. Bu seçenek, ikili veri mevcutsa kullanılmalıdır. Etkilenen alan tipleri İKİLİ, VARİNYATLİ ve BLOB'dur.
mysqldump -uroot -p --all-databases --hex-blob
--sunucu, -h
İhtaça aktarılması gereken ana bilgisayar bilgileri
mysqldump -uroot -p --host=localhost --all-databases
--görmezden gelme-tablo
Belirtilen tablo dışa aktarılmaz. Birden fazla tablonun göz ardı edildiği belirtildiğinde, bu durum birden fazla kez tekrarlanmalıdır, her seferinde tek bir tablo. Her tablo hem veritabanını hem de tablo adını belirtmelidir. Örneğin: --ignore-table=database.table1 --ignore-table=database.table2 ......
mysqldump -uroot -p --host=localhost --all-databases --ignore-table=mysql.user
--master-host-port dahil
'MASTER DEĞİŞ..' -dump-slave tarafından oluşturuldu Cümleye 'MASTER_HOST=<host>,MASTER_PORT=<port>' ekleyin
mysqldump -uroot -p --host=localhost --all-databases --include-master-host-port
--ekle-görmezden gelin
Bir satır eklerken INSERT IGNORE ifadesini kullanın.
mysqldump -uroot -p --host=localhost --all-databases --insert-ignore
--çizgiler-sonlanmış-
Çıkış dosyasının her satırı, verilen bir dizeye bölünür. --tab seçeneğiyle kullanılıyor, --veritabanları ve --all-databases seçenekleri için değil.
mysqldump -uroot -p --host=localhost test testi --tab="/tmp/mysql" --lines-terminated-by="##"
--tüm masaları kilitle, -x
Veri tutarlılığını sağlamak için tüm veritabanlarındaki tüm tabloları kilitlemek için bir talep gönderin. Bu bir küresel okuma kilidi ve --tek-işlem ile --lock-tables seçenekleri otomatik olarak kapalıdır.
mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables
--kilitli masalar, -l
Dışa aktarmaya başlamadan önce tüm tabloları kilitleyin. MyISAM tablolarının paralel olarak eklenebilmesi için tabloyu READ LOCAL ile kilitleyin. InnoDB ve BDB gibi işlemleri destekleyen tablolar için ,--single-transaction daha iyi bir seçenektir çünkü hiç tablo kilitlenmesi gerektirmez.
Birden fazla veritabanı dışa aktarılırken,-- lock-tables her veritabanı için ayrı ayrı tabloları kilitler. Bu nedenle, bu seçenek, dışa aktarılan dosyadaki tablolar için veritabanları arasında mantıksal tutarlılık garanti etmez. Farklı veritabanı tablolarının dışa aktarma durumu tamamen farklı olabilir.
mysqldump -uroot -p --host=localhost --all-databases --lock-tables
--log-error
Verilen dosyaya uyarılar ve hata mesajları ekle
mysqldump -uroot -p --host=localhost --all-databases --log-error=/tmp/mysqldump_error_log.err
--ana veri
Bu seçenek, binlogun konumunu ve dosya adını çıktı dosyasına ekler. Eğer 1 ise, CHANGE MASTER komutu çıktı olarak kullanılır; Eğer 2 ise, çıktı CHANGE MASTER komutundan önce bir yorum ekleyin. Seçenek, --lock-all-tables seçeneğini açar, ancak --single- işlemi de belirtilmedikçe (bu durumda, global okuma kilidi dışa aktarma başladığında kısa bir süre alır; Diğer içerikler için lütfen aşağıdaki --tek işlem seçeneğine bakınız). Bu seçenek otomatik olarak kapalı --lock-tables seçeneği.
mysqldump -uroot -p --host=localhost --all-databases --master-data=1;
mysqldump -uroot -p --host=localhost --all-databases --master-data=2;
--max_allowed_packet
Sunucu tarafından gönderilen ve kabul edilen maksimum paket uzunluğu.
mysqldump -uroot -p --host=localhost --all-databases --max_allowed_packet=10240
--net_buffer_length
TCP/IP ve soket bağlantıları için önbellek boyutu.
mysqldump -uroot -p --host=localhost --all-databases --net_buffer_length=1024
--otomatik taahhüt yok
Tabloyu sarmak için otomatik commit/commit ifadesini kullanın.
mysqldump -uroot -p --host=localhost --all-databases --no-autocommit
--no-create-db, -n
Veri sadece CREATE DATABASE ifadesi eklemeden dışa aktarın.
mysqldump -uroot -p --host=localhost --all-databases --no-create-db
--bilgi-yaratma, -t
Veri yalnızca CREATE TABLE ifadesi eklemeden dışa aktarılır.
mysqldump -uroot -p --host=localhost --all-databases --no-create-info
--no-data, -d
Hiçbir veri dışa aktarılmaz, sadece veritabanı tablosu yapısı dışa aktarılır.
mysqldump -uroot -p --host=localhost --all-databases --no-data
--isim yok, -N
--at-set-karakter seti eşdeğeri
mysqldump -uroot -p --host=localhost --all-databases --no-set-names
--opt
--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set- charset, --disable-keys gibi özelliklere eşdeğer. Bu seçenek varsayılan olarak etkinleştirilmiş ve --skip-opt ile devre dışı bırakılabilir.
mysqldump -uroot -p --host=localhost --all-databases --opt
--birincil sıraya göre
Eğer bir birincil anahtar veya ilk benzersiz anahtar varsa, her tablo için kayıtları sıralayın. Bu, MyISAM tablolarını InnoDB tablolarına dışa aktarırken işe yarar, ancak dışa aktarma sürecini uzun sürdürür.
mysqldump -uroot -p --host=localhost --all-databases --order-by-primary
--password, -p
Veritabanı şifresini bağla
--boru (pencereler için mevcut)
Adlandırılmış bir pipeline kullanarak mysql'e bağlanın
mysqldump -uroot -p --host=localhost --all-databases --pipe
--liman, -P
Veritabanı port numarasına bağlanın
--protokol
Kullanılan bağlantı protokolleri: tcp, soket, boru ve bellek.
mysqldump -uroot -p --host=localhost --all-databases --protocol=tcp
--çabuk, -q
Sorguları tamponlamadan doğrudan standart çıktıya aktarın. Varsayılan açık, bu seçeneği iptal etmek için --skip-quick kullanın.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-quick
--alıntı-isimler,-Q
Tablo ve sütun adlarını oluşturmak için (') kullanın. Varsayılan açık, bu seçeneği iptal etmek için --skip-quote-names kullanın.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-quote-names
--yerine
INSERT INTO yerine REPLACE INTO ile INSERT INTO kullanın.
mysqldump -uroot -p --host=localhost --all-databases --replace
--result-file, -r
Doğrudan belirtilen dosyaya çıktı. Bu seçenek, yeni satır wrap kullanan sistemlerde (örneğin DOS, Windows) kullanılmalıdır. Bu seçenek, yalnızca bir satır kullanılmasını sağlar.
mysqldump -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt
--rutinler, -R
Depolanmış prosedürleri ve özel fonksiyonları dışa aktarın.
mysqldump -uroot -p --host=localhost --all-databases --routines
--karakter seti
Çıktı dosyasına 'SET NAMES default_character_set' ekleyin. Varsayılan olarak açık duruma geçin, seçeneği kapatmak için --skip-set-charset kullanın.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-set-charset
--tek işlem
Bu seçenek, veri dışa aktarmadan önce BEGIN SQL ifadesi gönderir; bu da hiçbir uygulamayı engellemez ve ihracat sırasında veritabanının tutarlı bir durumunu garanti eder. Sadece çok sürümlü depolama motorlarıyla çalışıyor, sadece InnoDB ile. Bu seçenek ve --lock-tables seçeneği birbirini dışlar, çünkü LOCK TABLES bekleyen işlemleri dolaylı olarak bağlı yapar. Büyük bir tabloyu dışa aktarmak istiyorsanız, --quick seçeneğini birlikte kullanmalısınız.
mysqldump -uroot -p --host=localhost --all-databases --single-transaction
--dump-date
Çıkış dosyasına ihracat süresini ekleyin. Varsayılan olarak açık duruma geçin, kapatmak için --at-dump-date seçeneğini kullanın.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-dump-date
--skip-opt
–opt seçeneğini devre dışı bırakın.
mysqldump -uroot -p --host=localhost --all-databases --skip-opt
--soket,-S
Mysql'e bağlanan soket dosya konumunu belirtin, varsayılan yol /tmp/mysql.sock olur
mysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock
--tab,-T
Verilen bir yoldaki her tablo için sekme bölünmüş bir metin dosyası oluşturun. Not: Sadece aynı makinede çalışan mysqldump ve mysqld sunucuları için.
mysqldump -uroot -p --host=localhost test testi --tab="/home/mysql"
--tablolar
Dışa aktarılacak tablo adını belirtmek için --databases (-B) parametresini geçersiz kılın.
mysqldump -uroot -p --host=localhost --databases test --tables test
--tetikleyiciler
Dışa aktarma tetikleyicileri. Bu seçenek varsayılan olarak etkinleştirilmiş, --skip-triggers ile devre dışı bırakın.
mysqldump -uroot -p --host=localhost --all-databases --triggers
--tz-utc
Farklı saat dilimlerine veya veri farklı bir saat dilimine taşındığında TIMESTAMP verilerinin doğruluğunu sağlamak için ihracatın en üstünde TIME_ZONE='+00:00' olarak zaman dilimini ayarlayın.
mysqldump -uroot -p --host=localhost --all-databases --tz-utc
--kullanıcı, -u
Bağlantının kullanıcı adını belirtin.
--çok konuşuluyor, --v
Birden fazla platform bilgisi çıkar.
--versiyon, -V
Mysqldump sürüm bilgisi çıktı ve çıkış
--nerede, -w
Sadece verilen WHERE koşulu için seçilen kayıtlar atılır. Eğer koşul komut yorumlayıcısına özgü bir alan veya karakter içeriyorsa, koşula referans verdiğinizden emin olun.
mysqldump -uroot -p --host=localhost --all-databases --where=" user='root'"
--xml, -X
XML formatını dışa aktarın.
mysqldump -uroot -p --host=localhost --all-databases --xml
--plugin_dir
Farklı eklenti sürümleriyle uyumluluk için istemci tarafı eklentilerden oluşan bir dizin.
mysqldump -uroot -p --host=localhost --all-databases --plugin_dir="/usr/local/lib/plugin"
--default_auth
İstemci eklentileri varsayılan olarak izinleri kullanır.
mysqldump -uroot -p --host=localhost --all-databases --default-auth="/usr/local/lib/plugin/<PLUGIN>"
|