Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 18434|Yanıt: 2

[Kaynak] MySQL, verileri koşullarla dışa aktarmak için mysqldump kullanır

[Bağlantıyı kopyala]
Yayınlandı 26.04.2019 16:07:23 | | | |

MySQL veritabanı yedekleme ve dışa aktarma
https://www.itsvse.com/thread-4004-1-1.html
(Kaynak: Architect_Programmer)
mysqldump veritabanı özetlerini içe ve dışa aktarır
https://www.itsvse.com/thread-4353-1-1.html
(Kaynak: Architect_Programmer)
mysqldump veritabanını "erişim reddedildi" dışa aktarıyor
https://www.itsvse.com/thread-4005-1-1.html
(Kaynak: Architect_Programmer)

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>"





Önceki:Bootstrap tablosunda Json'un değerini alamıyorum
Önümüzdeki:Sorgu sonuçlarını Json format script paylaşımına dönüştür
Yayınlandı 1.06.2019 02:16:47 |
Paylaştığın için teşekkürler
 Ev sahibi| Yayınlandı 7.02.2021 10:01:20 |
MySQL, sorgu sonuçlarını bir dosyaya dışa aktarır
https://www.itsvse.com/thread-9557-1-1.html
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com