Ben mysql veritabanındaki tüm verileri damping sözdizimi arıyorum. Tablo bilgisi istemiyorum.
Ben mysql veritabanındaki tüm verileri damping sözdizimi arıyorum. Tablo bilgisi istemiyorum.
Yanıtlar:
mysqldump --no-create-info ...
Ayrıca şunları kullanabilirsiniz:
--skip-triggers
: tetikleyiciler kullanıyorsanız--no-create-db
: --databases ...
seçeneği kullanıyorsanız--compact
: fazladan yorumlardan kurtulmak istiyorsanızmysqldump -u USERNAME -h HOST --no-create-info --skip-triggers YOURDATABASENAME YOURTABLENAME --where='id=12345678'
Access denied for user ... to database '...' when doing LOCK TABLES
, kullanın--single-transaction
--where
. Örneğin,--where="id=2"
Bu çalışmalı:
# To export to file (data only)
mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql
# To export to file (structure only)
mysqldump -u [user] -p[pass] --no-data mydb > mydb.sql
# To import to database
mysql -u [user] -p[pass] mydb < mydb.sql
NOT:-p
& arasında boşluk yoktur[pass]
--no-create-db
kullanırken gereksiz--no-create-info
-p
iyi
ps -ef
)
-p
seçeneği kılan mysqldump
parola istemi.
>> man -k mysqldump [enter in the terminal]
aşağıdaki açıklamayı bulacaksınız
--no-create-info, -t
Her dökülen tabloyu yeniden oluşturan CREATE TABLE ifadeleri yazmayın. Not Bu seçenek, mysqldump çıktısından günlük dosyası grupları veya tablo alanları oluşturan ifadeleri hariç tutmaz; ancak, bu amaç için --no-tablespaces seçeneğini kullanabilirsiniz.
--no-veri, -d
Herhangi bir tablo satırı bilgisi yazmayın (yani, tablo içeriğini dökmeyin). Bu, yalnızca tablo için CREATE TABLE deyimini dökmek istiyorsanız yararlıdır (örneğin, döküm dosyasını yükleyerek tablonun boş bir kopyasını oluşturmak için).
# To export to file (data only)
mysqldump -t -u [user] -p[pass] -t mydb > mydb_data.sql
# To export to file (structure only)
mysqldump -d -u [user] -p[pass] -d mydb > mydb_structure.sql
Aşağıdaki pasajı kullanmanızı öneririm. Büyük tablolarda bile iyi çalışır (aksi takdirde editörde dökümü açar ve gereksiz şeyleri çıkarırsınız, değil mi?)
mysqldump --no-create-info --skip-triggers --extended-insert --lock-tables --quick DB TABLE > dump.sql
En azından mysql 5.x gerekli, ancak günümüzde eski şeyleri kim çalıştırıyor .. :)
Kabul edilen yanıtı kullanarak verileri dışa aktarmaya çalışırken bir hata aldım:
ERROR 1235 (42000) at line 3367: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
Yukarıda belirtildiği gibi:
mysqldump --no-create-info
Verileri dışa aktarır ancak aynı zamanda create tetikleyici ifadelerini dışa aktarır. Eğer benim gibi bir komutla çıkış veritabanı yapınız (tetikleyiciler de içerir) ve daha sonra veri almak için yukarıdaki komutu kullanarak '--skip-triggers' kullanmalısınız.
Yani verileri SADECE istiyorsanız:
mysqldump --no-create-info --skip-triggers