benim veritabanında bazı tablolar ve görüşlere sahip. nasıl komut satırından benim veritabanından tüm tabloları (ve görünümleri) aktarabilirim?MySQL dökümü tabloları sadece
cevap
tek tek görüşlerini dışlamak için seçenek --ignore-table ile Mysqldump kullanabilirsiniz. Veya mysqldump'ı kullanın ve görünümleri bir uygulamayla/el ile kaldırın. - ayrıca ve, (son kez kontrol) görünümleri aslında iki kez oluşturulur - bir zamanlar bir tablo olarak, daha sonra tablo şu anki uygulama Mysqldump görünümleri olmadan döker oluşturmayacaktır
grep -v "CREATE VIEW" db.dump > db-without-views.dump
: grep bir seçenek olabilir düşürülür ve bir görünümle değiştirilir. Bu davranış bir değişiklik yapılmadığı sürece Yani sadece, "CREATE VIEW" komutunu filtre olamaz.
Ancak mysqldump veritabanı adından sonra parametreleri olarak tablolar listesini alacak. Böyle bir şey:
mysqldump -ujoe -pmysecret joesdb posts tags comments users
+1: Bunu seviyorum – vietean
Tabloları My'dan sorgulayabilirsiniz. SQL'in bilgi şeması: 'mysqldump the_db_i_want $ (mysql -Ne" TABLE_NAME TABLE SELECT_SCHEMA.TABLES TABLE_SCHEMA = 'the_db_i_want' VE TABLE_TYPE = 'BASE TABLE' ") –
bir veritabanından tek bir tabloyu geri bir veritabanı
mysqldump -uUSERNAME -pPASWORD DATABASE TABLE_NAME --host=HOST_NAME > c:\TABLE_NAME.sql
tek tablo backuping
mysql -uUSERNAME -pPASSWORD DATABASE --host=HOST_NAME < c:\TABLE_NAME.sql
Dökümü için DB'den tek bir görünüm yok saymak için dökümü :
( )Dökümü için Db birden fazla görünümü görmezden için:
mysqldump -uusrname -ppwd -h hostname --ignore-table=db.view1 --ignore-table=db.view2 db > db.sql
NOT: dökümü kullanım --ignore-table
seçenek birden çok kez için birden çok görünüm görmezden.
Kullanımı
php mysqldump.php mydatabase myusername mypassword > myoutputfile.sql
Bu benim bir oldukça eski komut dosyasıdır. Birisi, mysql işlevlerine erişiminiz yoksa bunu PDO kullanmak için kolayca uyarlayabilir.
<?php
if (is_array($argv) && count($argv)>3) {
$database=$argv[1];
$user=$argv[2];
$password=$argv[3];
}
else {
echo "Usage php mysqdump.php <database> <user> <password>\n";
exit;
}
$link = mysql_connect('localhost', $user, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$source = mysql_select_db('$database', $link);
$sql = "SHOW FULL TABLES IN `$database` WHERE TABLE_TYPE LIKE 'VIEW';";
$result = mysql_query($sql);
$views=array();
while ($row = mysql_fetch_row($result)) {
$views[]="--ignore-table={$database}.".$row[0];
}
//no views or triggers please
echo passthru("mysqldump -u root --password=\"$password\" $database --skip-triggers ".implode(" ",$views));
?>
deneyin: sözdizimi
mysqldump -h drupdbsvr -u elt_drupal_dba -pdrupdev-654! clms_admin views_display views_view view_argument view_exposed_filter view_filter view_sort view_tablefield view_view > /opt/dbdump/clms_admin_view.sql
: -
mysqldump -h hostname -u database_user_name database_password database_name table_name1 table_name2 > path/sql_file.sql
Güncelleme @ ladieu senaryosu:
- Kabuk argümanlar düzgün ile şifreleri izin öncelenirler kabuklu karacigerler yerine MySQL özgü fonksiyonların PDO kullanma
- (bazen bir IP görünüyor mysql_ * fonksiyonları ile DNS karşı çözülmesi ve böylece bir hata tetiklemek üzere) komut dosyası kullanarak lokal olarak (ilave konak parametresi)
- kullanıldığını
- kaldırıldı varsayımını kodlamayı önlemek için "-r" seçeneği
- isim çıktı dosyası düzenler.ben tarafından tespit kullanıcı ile bağlanmak ve veritabanı>
<?php
if (is_array($argv) && count($argv)>3) {
$host=($argv[1]);
$user=($argv[2]);
$password=($argv[3]);
$database=($argv[4]);
}
else {
echo "Usage php mysqdump.php <host> <user> <password> <database>\n";
exit;
}
echo 'connecting to'.$host;
$pdo=new PDO("mysql:host=$host;dbname=$database",$user,$password);
//$link = mysql_connect($host, $user, $password);
//$source = mysql_select_db($database, $link);
$sql = "SHOW FULL TABLES IN `$database` WHERE TABLE_TYPE LIKE 'VIEW';";
$result = $pdo->query($sql);
$views=array();
while ($row = $result->fetch()) {
$views[]="--ignore-table={$database}.".$row[0];
}
//no views or triggers please
$host=escapeshellarg($host);
$user=escapeshellarg($user);
$password=escapeshellarg($password);
$database=escapeshellarg($database);
echo passthru("mysqldump -h $host -u $user --password=\"$password\" $database --skip-triggers ".implode(" ",$views)." -r $database.sql");
Enjoy dökümü istiyorum" neresinde böylece sql
- 1. Mysql konsolunda MySQL dökümü
- 2. mySQL dökümü tutarsızlığı
- 3. MySQL dökümü dosyası nerede?
- 4. MYSQL Floş Tabloları
- 5. mysql tabloları optimize et
- 6. Tüm tabloları info_schema'dan alın, MySQL
- 7. MySQL tabloları birden çok kez
- 8. Php'de mysql tabloları nasıl kilitlenir
- 9. Ansible ile MySQL Tabloları Oluşturun
- 10. MySQL tabloları için veri oluşturma
- 11. MySQL 3 tabloları birleştirmek ve
- 12. Eşleşen tabloları göster tabloları ile gösterme adı
- 13. Dökümü depolamak için ne tür mysql sütunu?
- 14. Tablodaki seçili sütunların mysql dökümü nasıl alınır
- 15. MySQL - Tabloları birleştir, yalnızca Max ID'ye eriş
- 16. Varlık Çerçeve Kodu İlk MySql Çoğullama Tabloları
- 17. Bir MySQL veritabanı içinde tabloları gruplama
- 18. MySQL sistem veritabanı tabloları InnoDB'ye dönüştürülebilir mi?
- 19. MySQL sadece, '0'
- 20. MySQL: Sadece bir kez
- 21. Sadece resim, BLOB Mysql
- 22. Veritabanındaki tüm tabloları listeleme
- 23. Unix ve mysql kullanarak wordpress dökümü (.wxr) oluşturma
- 24. Yöntem 'dökümü'
- 25. mysql pivot dinamik tabloları ve yalnızca geri sayım> 0
- 26. SQLAlchemy tabloları bırakarak engelleniyor
- 27. phpunit'te dbunit tabloları kırpmıyor
- 28. Postgres dökümü: pg_catalog.setval
- 29. Genel değişkene dökümü
- 30. Çok yavaş performans işleme 40M + kayıtları MySQL tabloları
yüzden, damperli görünüm başına birden fazla satır yazıyor sakının Belirtilen ilk satır hariç, dökümünüzde hatalar bırakacaktır –
@ZsoltSzilagy ne dedi? --Görünüm tabloları işe yarıyor, ancak geri kalanlar kırık bir ihracata yol açıyor. – DougW
Bu neden doğru olarak işaretlendi? –