Ben oldukça büyük bir veritabanı var, bu yüzden Komut İstemi'ni kullanarak vermek istiyorum ama nasıl yapacağımı bilmiyorum.
WAMP kullanıyorum.
Ben oldukça büyük bir veritabanı var, bu yüzden Komut İstemi'ni kullanarak vermek istiyorum ama nasıl yapacağımı bilmiyorum.
WAMP kullanıyorum.
Yanıtlar:
Önce komut satırınızın mysql komutunu tanıyıp tanımadığını kontrol edin. Değilse komuta gidin ve yazın:
set path=c:\wamp\bin\mysql\mysql5.1.36\bin
Ardından veritabanınızı dışa aktarmak için bu komutu kullanın:
mysqldump -u YourUser -p YourDatabaseName > wantedsqlfile.sql
Daha sonra veritabanı parolası girmeniz istenir .
Bu, bu komutu yürütürken veritabanını şu anda bulunduğunuz yola dışa aktarır
Not: Burada hem içe aktarma hem de dışa aktarma ile ilgili bazı ayrıntılı talimatlar verilmiştir
-p
ve arasında boşluk yoktur thepassword
.
-p
ve daha sonra parola istenir. Bu şekilde parolanızı .bash_history
Aşağıdaki komutu kullanmanız yeterlidir,
İhracat için:
mysqldump -u [user] -p [db_name] | gzip > [filename_to_compress.sql.gz]
İthalat için:
gunzip < [compressed_filename.sql.gz] | mysql -u [user] -p[password] [databasename]
Not: '-p' anahtar kelimesi ile şifreniz arasında boşluk yoktur.
gzip -9
Maksimum sıkıştırma kullanıldığından, belirtmek sonuçta elde edilen dosyayı biraz daha küçük hale getirir.
Her şeyden önce açık komut istemi daha sonra bin dizinini cmd'de açın (umarım cmd komutlarının farkındasınızdır ) WAMP program dosyalarındaki MySql klasörünüzün bin dizinine gidin .
komutu çalıştır
mysqldump -u db_username -p database_name > path_where_to_save_sql_file
enter tuşuna basın sistemi belirli veritabanını dışa aktarır ve verilen konuma sql dosyası oluşturur.
umarım anladın :) herhangi bir sorunuz varsa lütfen bana bildirin.
Aşağıdaki komutu kullanabilirsiniz,
mysqldump --databases --user=root --password your_db_name > export_into_db.sql
ve oluşturulan dosya bu komutu çalıştırdığınız dizinde bulunur.
Şunun için resmi referans hakkında daha fazla bilgi bulabilirsiniz mysqldump
: Import Export MySQL DB
Not : Kullanım --databases
yerine --database
sonuncusu artık desteklenir beri.
Zevk almak :)
mysqldump: [ERROR] unknown option '--database'
ama --database
bunun dışlanması işe yaradı.
Bu yoldaki komut istemine gidin,
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>
Ardından veritabanınızı dışa aktarmak için bu komutu verin ( -p'den sonra boşluk yok )
mysqldump -u[username] -p[userpassword] yourdatabase > [filepath]wantedsqlfile.sql
Mysql örneğinizi şununla bulun:
which mysql
Bu doğruysa, aşağıdakilerle dışa aktarın (başka bir deyişle, bin içindeki mamp klasörünüzdeki mysql örneğine gidin):
mysqldump -u [username] -p [password] [dbname] > filename.sql
Ve eğer aynı zamanda ziplemek isterseniz:
mysqldump -u [username] -p [password] [db] | gzip > filename.sql.gz
Daha sonra bu dosyayı şu sunucularla taşıyabilirsiniz:
scp user@xxx.xxx.xxx.xxx:/path_to_your_dump/filename.sql.gz your_detination_path/
(burada xxx.xxx.xxx.xxx, sunucunun IP adresidir)
Ve sonra şu şekilde içe aktarın:
gunzip filename.sql.gz | mysql -u [user] -p [password] [database]
password
komut satırından kaldırmaktır : mysqldump -u [kullanıcı adı] -p [dbname]> dosyaadı.sql Bu, kişilerin geçmişinizde parola aramasını engeller.
mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sql
Uyarı: Komut satırı arabiriminde bir parola kullanmak güvenli olmayabilir.
PROSEDÜRLERİ, FONKSİYONLARI ve TETİKLEYİCİLERİ de dışa aktarmak için --routines
parametre ekleyin :
mysqldump -u YourUser -p YourDatabaseName --routines > wantedsqlfile.sql
--routines
fark yaratır :) Sadece PROSEDÜRLER, FONKSİYONLAR & TETİKLERİN nasıl dışa aktarılacağına dair ipuçları var mı? Anahtarı unutmuş ve "algoritmalar" olmadan "saf" DB ihraç edenler için :)
--events
Olay Zamanlayıcısı olaylarını boşaltmak için anahtar gereklidir ve TRIGGER'ler belirtilmedikçe her zaman dışa aktarılır--skip-triggers
( 7.4.5.3 Kayıtlı Programları Boşaltma )
Veritabanınızı dışa aktarmak için bu komutu verin, buna tarih de dahil
mysqldump -u[username] -p[userpassword] --databases yourdatabase | gzip > /home/pi/database_backup/database_`date '+%m-%d-%Y'`.sql.gz
(-p'den sonra boşluk yok)
--databases
CREATE DATABASE XYZ;
USE XYZ;
D: sürücüsüne wamp sunucumu yükledim, böylece u komut satırından aşağıdaki yola gitmek zorundasınız -> (ve c: sürücüsüne ur wamp'ı yüklediyseniz, sadece d: wtih: burada değiştirin)
D:\>cd wamp
D:\wamp>cd bin
D:\wamp\bin>cd mysql
D:\wamp\bin\mysql>cd mysql5.5.8 (whatever ur verserion will be displayed here use keyboard Tab button and select the currently working mysql version on your server if you have more than one mysql versions)
D:\wamp\bin\mysql\mysql5.5.8>cd bin
D:\wamp\bin\mysql\mysql5.5.8\bin>mysqldump -u root -p password db_name > "d:\backupfile.sql"
buraya kök benim phpmyadmin şifresi kullanıcı phpmyadmin için şifredir , bu yüzden u o yerde herhangi bir kök için herhangi bir şifre ayarlamadıysanız, db_name veritabanı (hangi veritabanı ur yedek alarak), backupfile.sql olduğunu ur veritabanının ur yedeklemesini istediğiniz dosya ve u da yedek dosya konumunu (d: \ backupfile.sql) bilgisayarınızdaki diğer herhangi bir yere değiştirebilir
-p
ve ile arasındaki boşlukla çalışır mı password
?
mysqldump -h [host] -p -u [user] [database name] > filename.sql
Localhost'ta örnek
mysqldump -h localhost -p -u root cookbook > cookbook.sql
Tüm bu çözümlerle ilgili sorun ( >
yeniden yönlendirici karakterini ), dökümünüzü veritabanınızın bazı karakterlerinin kodlamasını bozabilecek stdout'tan yazmanızdır.
Bir karakter kodlama sorununuz varsa. Gibi :
HATA 1064 (42000): SQL sözdiziminizde bir hata var; yakınında kullanılacak doğru sözdizimi için MySQL sunucu sürümünüze karşılık gelen kılavuza bakın ...
sonra, dosyayı yazmak için seçeneği kullanmanız GEREKİR-r
.
MySQL
mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump.sql
Docker'ı kullanma
docker exec --rm -v $pwd:dump -it mysql:5:7 mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump/dump.sql
Not: bu, geçerli yolu örneğin içinde döküm olarak bağlar.
Cevabı burada bulduk
Tersine, <
dökümünüzü veritabanınıza aktarmak için kullanmayın , yine utf8 olmayan karakterleriniz iletilemeyebilir; ancak kaynak seçeneğini tercih edin.
mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
(mysqldump.exe full path) -u (user name) -p (password) (database name) > (export database file full path)
c:>d:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe -u root -p mydbname > d:\mydb.sql
Nerede d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe gerçek mysqldump.exe yolunu olacak mydbname sen ihracat ve istediğiniz veritabanının adıdır d: \ mydb.sql yol nerede dışa aktarılan veritabanını saklamak istiyorsunuz.
Wamp sunucusu kullandım. Denedim
c:\wamp\bin\mysql\mysql5.5.8\bin\mysqldump -uroot -p db_name > c:\somefolder\filename.sql
root
mysql için kullanıcı adım, ve herhangi bir şifreniz varsa bunu belirtin:
-p[yourpassword]
Umarım çalışır.
Docker üzerinde çalışan ve aynı ulaşmak için aşağıdaki komut ile geldi db dökümü almaya çalışıyordu:
docker exec <container_id/name>
/ usr / bin / mysqldump -u <db_username>
--password = <db_password>
db_name
> .sql
Bu yardımcı olur umarım!
Bu komut dosyasını , bu bağlantıda verilen terminalden herhangi bir veritabanını vermek veya almak için kullanabilirsiniz : https://github.com/Ridhwanluthra/mysql_import_export_script/blob/master/mysql_import_export_script.sh
echo -e "Welcome to the import/export database utility\n"
echo -e "the default location of mysqldump file is: /opt/lampp/bin/mysqldump\n"
echo -e "the default location of mysql file is: /opt/lampp/bin/mysql\n"
read -p 'Would like you like to change the default location [y/n]: ' location_change
read -p "Please enter your username: " u_name
read -p 'Would you like to import or export a database: [import/export]: ' action
echo
mysqldump_location=/opt/lampp/bin/mysqldump
mysql_location=/opt/lampp/bin/mysql
if [ "$action" == "export" ]; then
if [ "$location_change" == "y" ]; then
read -p 'Give the location of mysqldump that you want to use: ' mysqldump_location
echo
else
echo -e "Using default location of mysqldump\n"
fi
read -p 'Give the name of database in which you would like to export: ' db_name
read -p 'Give the complete path of the .sql file in which you would like to export the database: ' sql_file
$mysqldump_location -u $u_name -p $db_name > $sql_file
elif [ "$action" == "import" ]; then
if [ "$location_change" == "y" ]; then
read -p 'Give the location of mysql that you want to use: ' mysql_location
echo
else
echo -e "Using default location of mysql\n"
fi
read -p 'Give the complete path of the .sql file you would like to import: ' sql_file
read -p 'Give the name of database in which to import this file: ' db_name
$mysql_location -u $u_name -p $db_name < $sql_file
else
echo "please select a valid command"
fi