MySQLdump: ഡൗൺലോഡ് ചെയ്യുക, mysqldump ഉപയോഗിച്ച് പ്രവർത്തിക്കുക, ഉദാഹരണങ്ങൾ. MySQL റഫറൻസ് ഗൈഡ്

mysqldump പ്രോഗ്രാം ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനും പ്രവർത്തിക്കുന്നതിനും ഉയർന്ന നിലവാരമുള്ള ഒരു ഗൈഡ് സൃഷ്ടിക്കുക എന്നതാണ് ലേഖനത്തിന്റെ ആശയം. നിരവധി ഉദാഹരണങ്ങൾ ഉപയോഗിച്ച് എല്ലാം ശേഖരിക്കുന്നു ഉപയോഗപ്രദമായ ഓപ്ഷനുകൾഈ യൂട്ടിലിറ്റിയിൽ പ്രവർത്തിക്കുന്നതിനുള്ള പാരാമീറ്ററുകളും. എല്ലാം ഒരു ലേഖനത്തിൽ ഉൾപ്പെടുത്തുന്നത് ബുദ്ധിമുട്ടാണ്, അതിനാൽ എല്ലാം ചെറുതും പോയിന്റ് ആയിരിക്കും. ആരെങ്കിലും എന്തെങ്കിലും തെറ്റിദ്ധരിച്ചാൽ, ദയവായി ലേഖനത്തിൽ അഭിപ്രായമിടുക.

വിഭാഗങ്ങൾ:

ഇൻസ്റ്റലേഷൻmysqldump:

എന്താണ് mysqldump?

MySQLdump- ഈ സെർവർ ആപ്ലിക്കേഷൻ, ഇത് നിങ്ങളെ ഡാറ്റാബേസുകൾ ബാക്കപ്പ് ചെയ്യാനും (ഇനിമുതൽ ഡംപ് എന്ന് വിളിക്കുന്നു) ഒരു പ്രത്യേക ഫയലിൽ സംരക്ഷിക്കാനും അനുവദിക്കുന്നു. അതേ സമയം, നിങ്ങൾക്ക് ഫ്ലെക്സിബിൾ ഡംപ് ക്രമീകരണങ്ങൾ ഉണ്ടാക്കാം: നിരവധി അല്ലെങ്കിൽ എല്ലാ ഡാറ്റാബേസുകളും, gzip-ൽ ആർക്കൈവുചെയ്യൽ, ലോക്ക് ചേർക്കൽ, ഡ്രോപ്പ് കമാൻഡുകൾ എന്നിവയും അതിലേറെയും. കൂടാതെ സാധ്യമാണ് വിപരീത ഇറക്കുമതി ബാക്കപ്പ് പകർപ്പുകൾഡി.ബി. ഉപയോഗിച്ച് ചെയ്യാം PHP ഉപയോഗിക്കുന്നു, എന്നാൽ ധാരാളം ഡാറ്റ വെയ്റ്റ് ഉള്ള വലിയ പ്രോജക്റ്റുകൾക്ക് ഇത് അസ്വീകാര്യമാണ്.

ഒരു ഡാറ്റാബേസിൽ നിന്ന് ഡാറ്റ കയറ്റുമതി ചെയ്യുന്നതിനും ഇറക്കുമതി ചെയ്യുന്നതിനും ഈ പ്രോഗ്രാം വളരെ ഉപയോഗപ്രദമാണ്. ഇത് നിങ്ങളുടെ ഹോസ്റ്റിംഗിൽ സ്റ്റാൻഡേർഡ് ആയി ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും (കൂടുതൽ കൃത്യമായി, mysql സെർവർ). എന്നാൽ mysqldump-ൽ പ്രവർത്തിക്കാനുള്ള നിങ്ങളുടെ കഴിവുകൾ വികസിപ്പിക്കുന്നതിനും അത് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്ന് മനസിലാക്കുന്നതിനും, നിങ്ങൾക്ക് ഇത് denwer-ൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും. അതാണ് ഞങ്ങൾ ഇപ്പോൾ ചെയ്യുക.

mysqldump ഡൗൺലോഡ് ചെയ്യുക

നിങ്ങൾക്ക് എല്ലായ്പ്പോഴും ഞങ്ങളുടെ വെബ്സൈറ്റിൽ mysqldump പ്രോഗ്രാം ഡൗൺലോഡ് ചെയ്യാം, കൂടാതെ ആപ്ലിക്കേഷൻ ഡൗൺലോഡ് ചെയ്യുന്നത് പൂർണ്ണമായും സൗജന്യമാണ്. താഴെയുള്ള നേരിട്ടുള്ള ലിങ്കിൽ നിന്ന് mysqldump ഡൗൺലോഡ് ചെയ്യുക.

mysqldump എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം?

ഞങ്ങൾ ലോക്കലിൽ ഇൻസ്റ്റാൾ ചെയ്യും ഡെൻവർ സെർവർ. ആപ്ലിക്കേഷൻ ഇൻസ്റ്റാൾ ചെയ്യുന്നത് എളുപ്പവും ലളിതവുമാണ്, ഇത് ചെയ്യുന്നതിന്, ചുവടെ നൽകിയിരിക്കുന്ന നിർദ്ദേശങ്ങളും സ്ക്രീൻഷോട്ടുകളും പിന്തുടരുക.

1. mysqldump.exe ഫയൽ ഡെൻവർ ഫോൾഡറിലേക്ക് പകർത്തുക:

D:\WebServers\usr\local\mysql5\bin\
ഈ സാഹചര്യത്തിൽ, നിങ്ങൾക്ക് mysql5 ഫോൾഡറിന് അൽപ്പം വ്യത്യസ്തമായ പേര് ഉണ്ടായിരിക്കാം, ഉദാഹരണത്തിന് mysql-5.1 അല്ലെങ്കിൽ ചെറുതായി പരിഷ്കരിച്ചത്. അതിനാൽ, കൂടുതൽ വ്യക്തതയ്ക്കായി, താഴെ ഒരു സ്ക്രീൻഷോട്ട്:

2. ഡെൻവർ സമാരംഭിക്കുക

ഡെൻവർ എങ്ങനെ സമാരംഭിക്കണമെന്ന് നിങ്ങൾക്ക് തീർച്ചയായും അറിയാം.


3. കൺസോൾ സമാരംഭിക്കുക:

ആരംഭിക്കുക->റൺ->cmd.exeഅല്ലെങ്കിൽ Windows 7-ൽ: ആരംഭിക്കുക->തിരയൽ->നൽകുകcmd.exe->നൽകുക, സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ:

4. പരിശോധന:

കൺസോളിലെ കമാൻഡുകൾ ഉപയോഗിച്ച്, ഡെൻവർ വെർച്വൽ ഡിസ്കിലേക്കും (എനിക്ക് W:\) mysqldump ആപ്ലിക്കേഷനുള്ള ഫോൾഡറിലേക്കും പോകുക. കമാൻഡിന്റെ നിർവ്വഹണം സ്ഥിരീകരിക്കുന്നതിന്, എന്റർ അമർത്തുക.

കമാൻഡുകൾ നൽകുക:

W:- ഡെൻവർ വെർച്വൽ ഡിസ്കിലേക്ക് പോകുക

സി.ഡിusr\പ്രാദേശിക\mysql5\ബിൻ- ആപ്ലിക്കേഷൻ ഉള്ള ഫോൾഡറിലേക്ക് പോകുക

mysqldump -uroot your_db_name>file_name.sql- ടെസ്റ്റിംഗ്, ഒരു അനിയന്ത്രിതമായ ഡാറ്റാബേസ് ഒരു ഫയലിലേക്ക് ഇടുന്നു, അത് ബിൻ ഫോൾഡറിൽ സംരക്ഷിക്കപ്പെടും.

എന്റെ ഇൻസ്റ്റാളേഷൻ വിജയകരമായിരുന്നു, നിങ്ങളുടേത് കൂടിയാണെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു. ബിൻ ഫോൾഡറിൽ ഞങ്ങൾ ഡാറ്റാബേസ് ബാക്കപ്പ് ഫയൽ കണ്ടെത്തുന്നു. പ്രോഗ്രാം എങ്ങനെ കൂടുതൽ വ്യാപകമായി ഉപയോഗിക്കാമെന്ന് മനസിലാക്കാൻ, ലേഖനത്തിന്റെ ഇനിപ്പറയുന്ന വിഭാഗങ്ങൾ വായിക്കുക.

ആരംഭിക്കുന്നു: ഡാറ്റാബേസ് കയറ്റുമതിയും ഇറക്കുമതിയും

ഡാറ്റാബേസ് കയറ്റുമതി

ഞങ്ങൾ ഇതിനകം ആപ്ലിക്കേഷൻ ഇൻസ്റ്റാൾ ചെയ്യുകയും കൺസോൾ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് മനസിലാക്കുകയും ചെയ്തു. ഞങ്ങൾ ഇതിനകം ഒരു ടെസ്റ്റ് ഡംപ് ചെയ്തു. ഇപ്പോൾ നമുക്ക് ആവശ്യമുള്ള ഡയറക്ടറിയിലേക്ക് ഒരു ലളിതമായ ഡാറ്റാബേസ് ഡംപ് ചെയ്യാം. ഇത് ചെയ്യുന്നതിന്, ഞാൻ "ടെസ്റ്റ്" എന്ന പേരിൽ മുമ്പ് ഉപയോഗിച്ച ഒരു ഡാറ്റാബേസ് സൃഷ്ടിച്ചു. ഇത് പ്രാദേശിക ഡെൻവർ സെർവറിലാണ് സ്ഥിതി ചെയ്യുന്നത്. താഴെ നൽകിയിരിക്കുന്നു ഘട്ടം ഘട്ടമായുള്ള കമാൻഡുകൾടെസ്റ്റ് ഡാറ്റാബേസ് ആവശ്യമുള്ള ഫോൾഡറിലേക്കും ആവശ്യമുള്ള ഫയലിലേക്കും ഡംപ് ചെയ്യുന്നതിനുള്ള കൺസോൾ.

W: cdusr\local\mysql5\bin mysqldump -uroot test>D:\test\easydump.sql

ചുവടെയുള്ള സ്ക്രീൻഷോട്ട് ടെസ്റ്റ് ഫോൾഡറിലെ ഡംപ് ഫയൽ കാണിക്കുന്നു:

കയറ്റുമതി വിജയകരമായി പൂർത്തിയാക്കി. ഇപ്പോൾ ഈ ഫയൽ നമ്മുടെ സെർവറിലേക്ക് തിരികെ ഇറക്കുമതി ചെയ്യാൻ ശ്രമിക്കാം.

ഡാറ്റാബേസ് ഇറക്കുമതി

ഡാറ്റാബേസ് ഇറക്കുമതി ചെയ്യുന്നതിന്, phpmyadmin-ൽ ഡാറ്റാബേസ് മായ്‌ക്കുക, cmd.exe-ൽ ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക:

Mysql -uroot ടെസ്റ്റ്

പ്രധാന കുറിപ്പ്: കയറ്റുമതി ചെയ്യുമ്പോൾ ഞങ്ങൾ ഉപയോഗിച്ചിരുന്നെങ്കിൽ mysqldump..., തുടർന്ന് ഇറക്കുമതി ചെയ്യുമ്പോൾ നിങ്ങൾ കമാൻഡ് ആരംഭിക്കേണ്ടതുണ്ട് mysql. ഡാറ്റാബേസ് ബാക്കപ്പുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള mysqldump ആപ്ലിക്കേഷന്റെ അടിസ്ഥാന ഉപയോഗമാണ് ഈ ഉദാഹരണം. വിഭാഗത്തിലും ലേഖനത്തിലും നിങ്ങൾ കൂടുതൽ കമാൻഡുകളും ഉദാഹരണങ്ങളും കണ്ടെത്തും.

MySQLdump ഉദാഹരണങ്ങൾ

mysqldump ഉപയോഗിക്കുന്നതിന് ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന ഉദാഹരണങ്ങൾ ചുവടെയുണ്ട്. ഇത് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ബാക്കപ്പുകൾ നിർമ്മിക്കാൻ മാത്രമല്ല, ചില പാരാമീറ്ററുകൾ ചേർക്കാനും കഴിയും റിസർവ് കോപ്പി: gzip ഉപയോഗിച്ചുള്ള കംപ്രഷൻ, ബാക്കപ്പ് തീയതി ചേർക്കൽ, കുറച്ച് ടേബിളുകൾ അല്ലെങ്കിൽ ഡാറ്റാബേസ് ഘടന, ഫ്ലെക്സിബിൾ ക്രമീകരണങ്ങൾ ഉപയോഗിച്ച് മാത്രം ഡംപിംഗ്. ഡംപ് എക്സിക്യൂഷന്റെ വേഗത വർദ്ധിപ്പിക്കാനും ഡിസ്ക് സ്പേസ് മിതമായി ഉപയോഗിക്കാനും ഈ ഓപ്ഷനുകൾ നിങ്ങളെ അനുവദിക്കുന്നു.

ഒരു ഡമ്പ് സൃഷ്ടിക്കുന്നു

mysqldump –uUSER -h82.82.82.82 -pPASSWORD ഡാറ്റാബേസ് > /path/to/file/dump.sql

-യുഅഥവാ --ഉപയോക്താവ്=...- ഉപയോക്തൃനാമം

-എച്ച്അഥവാ --ഹോസ്റ്റ്=... - റിമോട്ട് ഹോസ്റ്റ്(ലോക്കൽ ഹോസ്റ്റിനായി നിങ്ങൾക്ക് ഈ പരാമീറ്റർ ഒഴിവാക്കാം)

-പിഅഥവാ --password- ഒരു പാസ്‌വേഡ് അഭ്യർത്ഥിക്കുക

ഡാറ്റാബേസ്- കയറ്റുമതി ചെയ്ത ഡാറ്റാബേസിന്റെ പേര്

/path/to/file/dump.sql- ഡംപിനുള്ള പാതയും ഫയലും

ഞങ്ങൾ നിരവധി ഡാറ്റാബേസുകൾ ഡംപ് ചെയ്യുന്നു, ഇതിനായി ഞങ്ങൾ --databases ആട്രിബ്യൂട്ട് ഉപയോഗിക്കുന്നു അല്ലെങ്കിൽ ചുരുക്കത്തിൽ –B, ചുവടെയുള്ള ഉദാഹരണം കാണുക:

Mysqldump -uroot -h82.82.82.82 -p -B database1 database2 database3 > databases.sql

നിങ്ങൾക്ക് എല്ലാ ഡാറ്റാബേസുകളുടെയും ഒരു ഡമ്പ് സൃഷ്‌ടിക്കണമെങ്കിൽ, നിങ്ങൾ -all-databases പാരാമീറ്റർ അല്ലെങ്കിൽ -A ചുരുക്കിയ രൂപത്തിൽ ഉപയോഗിക്കണം, ഉദാഹരണം കാണുക:

Mysqldump -uroot -h82.82.82.82 -p -A > all-databases.sql

ഡാറ്റ ഇല്ലാതെ ഒരു ഡാറ്റാബേസ് ഘടന സൃഷ്ടിക്കുന്നു

ഇത് ചെയ്യുന്നതിന്, ചുവടെയുള്ള ഉദാഹരണത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾ --no-data പാരാമീറ്റർ ഉപയോഗിക്കേണ്ടതുണ്ട്:

Mysqldump --no-data - uUSER -pPASSWORD ഡാറ്റാബേസ് > /path/to/file/schema.sql

ഒന്നോ അതിലധികമോ ഡാറ്റാബേസ് ടേബിളുകളുടെ ഒരു ഡംപ് സൃഷ്‌ടിക്കുക

mysqldump -uUSER -pPASSWORD ഡാറ്റാബേസ് പട്ടിക1 TABLE2 TABLE3 > dump.sql

ഒരു ഡംപ് സൃഷ്ടിച്ച് അത് ആർക്കൈവ് ചെയ്യുകgzip

mysqldump -u ഉപയോക്താവ് -pPASSWORD ഡാറ്റാബേസ് | gzip > /path/to/outputfile.sql.gz

ഫയലിന്റെ പേരിൽ തീയതി ഉപയോഗിച്ച് ഒരു ഡംപ് സൃഷ്ടിക്കുക

mysqldump -uUSER -pPASSWORD ഡാറ്റാബേസ് | gzip > `date +dump.sql.%Y%m%d.%H%M%S.gz`

അധിക ആട്രിബ്യൂട്ടുകൾ ഉപയോഗിക്കുന്നു

mysqldump -Q -c -e -uUSER -pPASSWORD ഡാറ്റാബേസ് > /path/to/file/dump.sql

നേരത്തെ സൂചിപ്പിച്ചതുപോലെ, ഈ ആട്രിബ്യൂട്ടുകൾ അന്തിമ ഫയൽ വലുപ്പം കുറയ്ക്കുകയും ബാക്കപ്പ് പ്രക്രിയ വേഗത്തിലാക്കുകയും ചെയ്യുന്നു. കൂടുതൽ കൃത്യമായി:

-ക്യുബാക്ക്ക്വോട്ടുകളിൽ പേരുകൾ പൊതിയുന്നു

-സിനിരയുടെ പേരുകൾ ഉൾപ്പെടെ ഒരു പൂർണ്ണമായ തിരുകൽ നടത്തുന്നു

-ഇഒരു വിപുലീകൃത ഉൾപ്പെടുത്തൽ ഉണ്ടാക്കുന്നു.

ഡാറ്റാബേസ് ബാക്കപ്പുകൾ സൃഷ്ടിക്കുന്നതിനോ വിന്യസിക്കുന്നതിനോ ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന കമാൻഡുകൾ ഈ പോസ്റ്റിൽ അടങ്ങിയിരിക്കുന്നു MySQL ഡാറ്റ.

ശരി, എനിക്ക് കീകൾ "പെട്ടെന്ന്" ആവശ്യമുള്ളപ്പോൾ നിരന്തരം ഗൂഗിൾ ചെയ്യുന്നതിൽ ഞാൻ മടുത്തു.

ഒരു ചെറിയ സിദ്ധാന്തം...

MySQLDUMP എന്നത് MySQL ഡാറ്റാബേസുകളുടെ ബാക്കപ്പുകൾ സൃഷ്ടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു ഉപകരണമാണ്. തൽഫലമായി, നമുക്ക് ഒരു ഡാറ്റാബേസ് ഡംപ് ഉള്ള ഒരു .sql ഫയൽ ലഭിക്കും. ഈ ഫയലിൽ അടങ്ങിയിരിക്കുന്നു Sql കോഡ്ടെക്സ്റ്റ് രൂപത്തിൽ, അതായത്. കാണാനും എഡിറ്റ് ചെയ്യാനും മറ്റും നിങ്ങൾക്കത് എപ്പോഴും ഒരു ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിച്ച് തുറക്കാനാകും...
STDIN വഴി mysql യൂട്ടിലിറ്റി ഉപയോഗിച്ച് നിങ്ങൾക്ക് അത്തരമൊരു ഡംപ് പുനഃസ്ഥാപിക്കാൻ കഴിയും.

വഴിയിൽ, MySqlHotCopy പോലുള്ള ഒരു യൂട്ടിലിറ്റിയും ഉണ്ട്, ഇത് ഹോട്ട് ബാക്കപ്പുകൾ സൃഷ്ടിക്കാൻ ഏറ്റവും നന്നായി ഉപയോഗിക്കുന്നു, കാരണം ഇത് ഡാറ്റാബേസ് ലോക്ക് ചെയ്യുകയും ഡാറ്റാബേസ് ഫയലുകൾ പകർത്തുകയും ചെയ്യുന്നു. ശരിയായ സ്ഥലം. എന്നാൽ ഇത് സെർവറിൽ തന്നെ പ്രവർത്തിപ്പിച്ചാൽ മാത്രമേ ഇത് പ്രവർത്തിക്കൂ, ഇത് MyISAM, ആർക്കൈവ് ടേബിളുകളിൽ മാത്രമേ പ്രവർത്തിക്കൂ, വലിയ ഡാറ്റാബേസുകൾക്ക് കൂടുതൽ അനുയോജ്യമാണ്.
MySQL ഡാറ്റ ഡയറക്ടറിയിലേക്ക് സംരക്ഷിച്ച ഫയലുകൾ പകർത്തി നിങ്ങൾക്ക് ഡാറ്റ വീണ്ടെടുക്കാനാകും.

പക്ഷേ, പൊതുവേ, ഇത് അവളെക്കുറിച്ചല്ല ... ഒരുപക്ഷേ ഞാൻ മറ്റൊരു ലേഖനത്തിൽ "ഹോട്ട് കോപ്പി" യെക്കുറിച്ച് എഴുതാം ...

ഒരു ഡാറ്റാബേസ് ബാക്കപ്പ് സൃഷ്ടിക്കുന്നു

site.ru സൈറ്റിനെ site.ru ഫയലിലേക്ക് ഇടുന്നതിനുള്ള ഏറ്റവും സാധാരണമായ കമാൻഡ് ഉപയോഗിച്ച് നമുക്ക് ആരംഭിക്കാം:

Mysqldump -uroot -h10.30.30.10 -p site_ru > site_ru.sql

    കീകളെ കുറിച്ച് കൂടുതൽ:
  • -യു(--user=...) എന്നത് ഡാറ്റാബേസ് ഉപയോക്തൃ നാമമാണ്;
  • -എച്ച്(—host=…) എന്നത് സെർവർ തന്നെ സ്ഥിതി ചെയ്യുന്ന ഹോസ്റ്റാണ്. സെർവർ ലോക്കൽ ആണെങ്കിൽ, ഈ പരാമീറ്റർ ഉപയോഗിക്കാൻ കഴിയില്ല അല്ലെങ്കിൽ നിങ്ങൾക്ക് അവിടെ ലോക്കൽ ഹോസ്റ്റ് നൽകാം. കീയ്‌ക്ക് ശേഷമുള്ള സെർവർ ഐപി സ്‌പെയ്‌സ് ഇല്ലാതെ എഴുതണം എന്നതും ഓർമ്മിക്കുക;
  • -പി(--password=...) എന്നത് ഉപയോക്താവിന്റെ രഹസ്യവാക്കാണ്. ഈ കീ ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, പാസ്‌വേഡ് ഇല്ലെങ്കിൽ ഡാറ്റാബേസിലേക്ക് കണക്റ്റുചെയ്യുന്നത് സാധ്യമാകും. കൂടാതെ, കമാൻഡിലേക്ക് ഒരു രഹസ്യവാക്ക് നൽകുന്നത് ആരും വിലക്കുന്നില്ല, കൂടാതെ കീയ്ക്ക് ശേഷം ഒരു സ്പേസ് ഉണ്ടാകരുത് (ഉദാഹരണത്തിന്: -p1234567890, ഇവിടെ 1234567890 ആണ് പാസ്‌വേഡ്);
  • site_ru MySql സെർവറിലെ ഡാറ്റാബേസിന്റെ പേരാണ് ഇത്;
  • site_ru.sqlഇതാണ് ഡംപ് ഫയൽ.

നിരവധി ഡാറ്റാബേസുകളുടെ ബാക്കപ്പ് പകർപ്പ് നിർമ്മിക്കാൻ, നിങ്ങൾക്ക് കീ ഉപയോഗിക്കാം -ബികൂടാതെ നിരവധി ഡാറ്റാബേസുകൾ വ്യക്തമാക്കുക, ഇതാ ഒരു ഉദാഹരണം:

Mysqldump -uroot -h10.30.30.10 -p site_ru site2_ru site3_ru > sites.sql

സാഹചര്യം നിങ്ങൾക്ക് ചിന്തിക്കാൻ സമയം നൽകുന്നില്ലെങ്കിൽ, നിങ്ങൾ എല്ലാ ഡാറ്റാബേസുകളുടെയും ഒരു ബാക്കപ്പ് പകർപ്പ് ഉണ്ടാക്കേണ്ടതുണ്ടെങ്കിൽ, ഈ സാഹചര്യത്തിൽ നിങ്ങൾക്ക് കീ ഉപയോഗിക്കാം --എല്ലാ ഡാറ്റാബേസുകളും, ഇതാ ഒരു ഉദാഹരണം:

Mysqldump -uroot -h10.30.30.10 -p -A > all-db.sql

വഴിയിൽ, ഒരു ന്യൂനൻസ് ഉണ്ട്.

നിങ്ങൾ ഒരു പ്രവർത്തിക്കുന്ന ഒരു ഡാറ്റാബേസ് ബാക്കപ്പ് ഉണ്ടാക്കുകയും അതിലുപരിയായി, സജീവമായി ഉപയോഗിക്കുന്ന സെർവറും ഉണ്ടാക്കുകയും ചെയ്താൽ, നിങ്ങൾ ഒരു ലംഘനത്തിന് സാധ്യതയുണ്ട് ലോജിക്കൽ കണക്ഷനുകൾ. ഇത് ഒഴിവാക്കാൻ രണ്ട് വഴികളുണ്ട്.

മേശകൾ പൂട്ടുക എന്നതാണ് ആദ്യ മാർഗം, അതായത്. നിങ്ങൾക്ക് --lock-tables പാരാമീറ്റർ ഉപയോഗിക്കാം, ഇതാ ഒരു ഉദാഹരണം:

Mysqldump -uroot -h10.30.30.10 -p --lock-tables site_ru > site_ru.sql

എന്നാൽ ഒരു ബാക്കപ്പ് സൃഷ്‌ടിക്കുന്ന സമയത്ത്, ക്ലയന്റ് അഭ്യർത്ഥനകൾ താൽക്കാലികമായി നിർത്തും... അതിനാൽ കാലഹരണപ്പെട്ടേക്കാം.

ഒരു ബാക്കപ്പ് സൃഷ്ടിക്കുമ്പോൾ --flush-log സ്വിച്ച് ഉപയോഗിക്കുക എന്നതാണ് രണ്ടാമത്തെ മാർഗ്ഗം. ഈ കീ അടയ്ക്കും പഴയ ലോഗ്പ്രവർത്തനങ്ങൾ പുതിയതൊന്ന് സൃഷ്ടിക്കും. ഒരു പകർപ്പ് സൃഷ്ടിക്കുമ്പോൾ ആരെങ്കിലും എന്തെങ്കിലും എഴുതുകയാണെങ്കിൽ, ഇത് ലോഗിന്റെ തുടക്കത്തിൽ പ്രതിഫലിക്കുകയും ഡാറ്റാബേസിലേക്ക് ഈ മാറ്റം കൈമാറുകയും ചെയ്യും. അടുത്തതായി, ഉറപ്പാക്കാൻ, ബാക്കപ്പ് പൂർത്തിയാക്കിയ ശേഷം, നിങ്ങൾ mysqladmin -flush-logs കമാൻഡ് പ്രവർത്തിപ്പിക്കുകയും അവസാനത്തെ ബൈനറി ലോഗിന്റെ ഒരു പകർപ്പ് നൽകുകയും വേണം.

ഒരു ഡാറ്റാബേസ് ബാക്കപ്പ് പുനഃസ്ഥാപിക്കുന്നു

ഇവിടെ "mysql" യൂട്ടിലിറ്റി ഇതിനകം ഭരിക്കും. ഒരു ഉദാഹരണം ഇതാ:

Mysql -uroot -h10.30.30.10 -p site_ru< site_ru.sql

മറ്റൊരു മാർഗം, കൂടുതൽ അനുസരണയുള്ളത്:

MySQL -uroot -p പാസ്‌വേഡ് നൽകുക: MySQL മോണിറ്ററിലേക്ക് സ്വാഗതം. കമാൻഡുകൾ അവസാനിക്കുന്നത്; അല്ലെങ്കിൽ\g. നിങ്ങളുടെ MySQL കണക്ഷൻ ഐഡി 35 സെർവർ പതിപ്പാണ്: 5.6.35-1+deb.sury.org~xenial+0.1 (Ubuntu) Copyright (c) 2000, 2016, Oracle കൂടാതെ/അല്ലെങ്കിൽ അതിന്റെ അനുബന്ധ സ്ഥാപനങ്ങൾ. എല്ലാ അവകാശങ്ങളും നിക്ഷിപ്തം. ഒറാക്കിൾ കോർപ്പറേഷന്റെയും/അല്ലെങ്കിൽ അതിന്റെ അനുബന്ധ സ്ഥാപനങ്ങളുടെയും രജിസ്റ്റർ ചെയ്ത വ്യാപാരമുദ്രയാണ് ഒറാക്കിൾ. മറ്റ് പേരുകൾ അതത് ഉടമസ്ഥരുടെ വ്യാപാരമുദ്രകളായിരിക്കാം. "സഹായം" എന്ന് ടൈപ്പ് ചെയ്യുക; അല്ലെങ്കിൽ സഹായത്തിന് "\h". നിലവിലെ ഇൻപുട്ട് സ്റ്റേറ്റ്മെന്റ് മായ്‌ക്കാൻ "\c" എന്ന് ടൈപ്പ് ചെയ്യുക. mysql> site_ru ഉപയോഗിക്കുക; mysql> ഉറവിടം site_ru.sql;

ശരി, നിങ്ങളുടെ ഡാറ്റാബേസ് ഒരു gz ആർക്കൈവിൽ സംരക്ഷിച്ചിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് സംയോജിപ്പിക്കാം mysql കമാൻഡുകൾകൂടാതെ zcat ഇതുപോലെ:

Zcat site_ru.sql.gz | mysql -uroot -h10.30.30.10 -p site_ru

mysqldump ഉപയോഗിക്കുന്നതിനുള്ള കൂടുതൽ ഓപ്ഷനുകൾ

ഉദാഹരണത്തിന്, നമുക്ക് ദേവ് സോണിൽ ഒരു ഡാറ്റാബേസ് ആവശ്യമാണ്, ഒരു സാൻഡ്ബോക്സ്, സംസാരിക്കാൻ, പ്രധാന ഡാറ്റാബേസിന്റെ വലുപ്പം വളരെ വലുതാണ്. നിങ്ങൾക്ക് -where="true limit 150" കീ ഉപയോഗിക്കാം, അതിൽ 150-ൽ കൂടുതൽ രേഖകളില്ലാത്ത ഒരു ഡാറ്റ സാമ്പിൾ ഞങ്ങൾ വ്യക്തമായി വ്യക്തമാക്കും. ഒരു ഉദാഹരണം ഇതാ:

Mysqldump -uroot -h10.30.30.10 -p --where="true limit 150" site_ru > site_ru.sql

നമുക്ക് ഡാറ്റയില്ലാത്ത ഒരു ഘടന മാത്രമേ ആവശ്യമുള്ളൂ എങ്കിൽ, നമുക്ക് --no-data സ്വിച്ച് ഉപയോഗിക്കാം, ഇവിടെ ഒരു ഉദാഹരണം ഉണ്ട്

Mysqldump -uroot -h10.30.30.10 -p --no-data site_ru > site_ru.sql

നമുക്ക് ഒരു പട്ടികയുടെ ഒരു പകർപ്പ് ആവശ്യമുണ്ടെങ്കിൽ, ഒരു ഉദാഹരണ കമാൻഡ് ഇതാ:

Mysqldump -u റൂട്ട് -p testdb പട്ടികയുടെ പേര് > testdb_table_backup.sql

ട്രിഗറുകൾ, നടപടിക്രമങ്ങൾ, ഇവന്റുകൾ (ബിൽറ്റ്-ഇൻ ഷെഡ്യൂളർ) എന്നിവയുടെ ഒരു പകർപ്പ് ഞങ്ങൾക്ക് ആവശ്യമുണ്ടെങ്കിൽ, ഒരു ഉദാഹരണം ഇതാ:

Mysqldump --no-create-info --no-data --triggers --routines --events -uroot -p site_ru | gzip > ~/database.sql.gz

നിങ്ങൾക്ക് ഉടനടി ഒരു ആർക്കൈവ് ചെയ്ത ഡാറ്റാബേസ് ഡംപ് സൃഷ്ടിക്കാനും കഴിയും. നിങ്ങൾക്ക് ഇത് ഇതുപോലെ ചെയ്യാൻ കഴിയും:

Mysqldump -uroot -p site_ru | gzip > /path/to/site_ru.sql.gz

കൂടാതെ ആർക്കൈവ് സൃഷ്‌ടിച്ച തീയതിയും നിങ്ങൾക്ക് ഇതുപോലെ വ്യക്തമാക്കാം:

Mysqldump -uroot -p site_ru | gzip > `തീയതി +/path/to/site_ru.sql.%Y%m%d.%H%M%S.gz`

mysqldump ഉപയോഗിക്കുന്നതിനുള്ള കീകൾ

ഏറ്റവും ജനപ്രിയമായ mysqldump കീകൾ ചുവടെ:

ലിസ്റ്റ് വികസിപ്പിക്കുക...

  • --add-drop-database - ഓരോ ഡാറ്റാബേസ് സ്റ്റേറ്റ്‌മെന്റിനും മുമ്പായി ഒരു DROP ഡാറ്റാബേസ് പ്രസ്താവന ചേർക്കുന്നു.
  • --add-drop-table — ഓരോ ക്രിയേറ്റ് ടേബിൾ സ്റ്റേറ്റ്മെന്റിനും മുമ്പായി ഒരു ഡ്രോപ്പ് ടേബിൾ സ്റ്റേറ്റ്മെന്റ് ചേർക്കുന്നു.
  • --add-locks - എക്സിക്യൂഷന് മുമ്പായി ഒരു LOCK TABLES സ്റ്റേറ്റ്‌മെന്റും ഓരോ ടേബിൾ ഡംപും എക്‌സിക്യൂട്ട് ചെയ്തതിന് ശേഷം ഒരു UNLOCK TABLE സ്റ്റേറ്റ്‌മെന്റും ചേർക്കുന്നു (MySQL-ലേക്കുള്ള ആക്‌സസ് വേഗത്തിലാക്കാൻ).
  • --all-databases, -A — നിലവിലെ സെർവർ കൈകാര്യം ചെയ്യുന്ന എല്ലാ ഡാറ്റാബേസുകളിൽ നിന്നും എല്ലാ പട്ടികകളും സംരക്ഷിക്കുന്നു.
  • --allow-keywords - കീവേഡുകളുമായി പൊരുത്തപ്പെടുന്ന കോളം പേരുകൾ സൃഷ്ടിക്കാൻ അനുവദിക്കുക. ഓരോ നിരയുടെയും പേരിന്റെ പ്രിഫിക്സായി പട്ടികയുടെ പേര് ചേർത്ത് വൈരുദ്ധ്യങ്ങളുടെ അഭാവം ഉറപ്പാക്കുന്നു.
  • —comments, -i — ഈ പരാമീറ്റർ നിങ്ങളെ ഡംപിലേക്ക് ചേർക്കാൻ അനുവദിക്കുന്നു അധിക വിവരം, mysqldump പതിപ്പ്, MySQL പതിപ്പ്, MySQL സെർവർ സ്ഥിതിചെയ്യുന്ന ഹോസ്റ്റ്നാമം എന്നിവ പോലെ.
  • --compact ഈ ഐച്ഛികം സാധ്യമായ ഏറ്റവും ഒതുക്കമുള്ള ഫോർമാറ്റ് ഉപയോഗിച്ച് mysqldump ഒരു ഡംപ് ഉണ്ടാക്കുന്നു. പാരാമീറ്റർ - കമന്റുകളുടെ വിപരീതമാണ്.
  • --compatible=name — പരാമീറ്റർ മറ്റ് ഡിബിഎംഎസുകളുമായോ പഴയവയുമായോ പൊരുത്തപ്പെടുന്ന ഔട്ട്പുട്ട് സൃഷ്ടിക്കുന്നു. MySQL പതിപ്പുകൾ. പേരിന്റെ കീവേഡിന് പകരം, നിങ്ങൾക്ക് ഉപയോഗിക്കാം: "ansi", "mysql323", "mysql40", "postgresql", "oracle", "mssql", "db2", "maxdb", "no_key_options", "no_table_options", "no_field_options" . നിങ്ങൾക്ക് കോമകളാൽ വേർതിരിച്ച ഒന്നിലധികം മൂല്യങ്ങൾ ഉപയോഗിക്കാം.
  • --complete-insert, -c — INSERT സ്റ്റേറ്റ്മെന്റിന്റെ പൂർണ്ണ രൂപം ഉപയോഗിക്കുക (കോളം പേരുകൾക്കൊപ്പം).
  • --create-options - ടേബിൾ പ്രസ്താവനകൾ സൃഷ്‌ടിക്കാൻ കൂടുതൽ വിവരങ്ങൾ ചേർക്കുന്നു. ഇത് പട്ടികയുടെ തരവും പ്രാരംഭ AUTO_INCREMENT മൂല്യവും മറ്റ് പാരാമീറ്ററുകളും ആകാം.
  • --databases, -B — നിങ്ങൾ ഒരു ഡംപ് സൃഷ്ടിക്കാൻ ആഗ്രഹിക്കുന്ന നിരവധി ഡാറ്റാബേസുകളുടെ പേരുകൾ വ്യക്തമാക്കാൻ പരാമീറ്റർ നിങ്ങളെ അനുവദിക്കുന്നു.
  • --delayed — വരികൾ ചേർക്കുമ്പോൾ INSERT DELAYED കമാൻഡ് ഉപയോഗിക്കുക.
  • --delete-master-logs - mysqldump ഉപയോഗിച്ച് വിജയകരമായി ഒരു ഡംപ് സൃഷ്ടിച്ചതിന് ശേഷം മാസ്റ്റർ റെപ്ലിക്കേഷൻ സെർവർ ബൈനറി ലോഗുകൾ (ലോഗ്ബിൻ) സ്വയമേവ ഇല്ലാതാക്കുന്നു. ഈ ഓപ്ഷൻ "--master-data" ഓപ്ഷൻ സ്വയമേവ പ്രാപ്തമാക്കുന്നു.
  • --disable-keys, -K - ഓരോ ടേബിളിനും, /*!40000 ALTER TABLE tbl_name DISABLE KEYS */ കൂടാതെ /*!40000 ALTER TABLE tbl_name എനേബിൾ കീകൾ */; ഡംപ് ഫലത്തിന്റെ ഔട്ട്പുട്ടിൽ. ഇത് MyISAM പോലുള്ള പട്ടികകൾക്കായി സെർവറിലേക്ക് ഡാറ്റ ലോഡുചെയ്യുന്നത് വേഗത്തിലാക്കും, കാരണം എല്ലാ ഡാറ്റയും നൽകിയതിന് ശേഷം സൂചികകൾ സൃഷ്ടിക്കപ്പെടുന്നു.
  • --extended-insert, -e — പുതിയതിനൊപ്പം INSERT കമാൻഡ് ഉപയോഗിക്കുക മൾട്ടിലൈൻ വാക്യഘടന(ഇൻപുട്ട് ഓപ്പറേറ്റർമാരുടെ ഒതുക്കവും പ്രകടനവും വർദ്ധിപ്പിക്കുന്നു).
  • --flush-logs, -F — ഡിസ്കിലേക്ക് ഡാറ്റ എഴുതുക സിസ്ലോഗ്ഡംപ് ആരംഭിക്കുന്നതിന് മുമ്പ് MySQL സെർവർ ബഫറിൽ നിന്ന്.
  • --force, -f — ഡംപ് സൃഷ്ടിക്കൽ പ്രക്രിയയിൽ ഒരു പിശക് സംഭവിച്ചാലും തുടരുക.
  • —hex-blob — ബൈനറി, VARBINARY, BLOB, BIT എന്നിങ്ങനെ ഹെക്സാഡെസിമൽ ഫോർമാറ്റിൽ ബൈനറി ഡാറ്റയെ പ്രതിനിധീകരിക്കാൻ പരാമീറ്റർ നിങ്ങളെ അനുവദിക്കുന്നു. അതിനാൽ "abc" എന്ന ക്രമം 0x616263 ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കും.
  • --ignore-table=db_name.tbl_name — ഒരു ഡംപ് സൃഷ്ടിക്കുമ്പോൾ db_name ഡാറ്റാബേസിന്റെ tbl_name പട്ടിക അവഗണിക്കാൻ അനുവദിക്കുന്നു. നിങ്ങൾക്ക് ഡമ്പിൽ നിന്ന് നിരവധി ടേബിളുകൾ ഒഴിവാക്കണമെങ്കിൽ, ഓരോ പാരാമീറ്ററിലും ഒരു ടേബിൾ വ്യക്തമാക്കുന്ന നിരവധി "--ignore-table" പാരാമീറ്ററുകൾ നിങ്ങൾ ഉപയോഗിക്കണം.
  • --insert-ignore — കൂട്ടിച്ചേർക്കുന്നു കീവേഡ്ഒരു INSERT പ്രസ്താവനയിലേക്ക് അവഗണിക്കുക.
  • --lock-all-tables, -x — ഈ ഐച്ഛികം വ്യക്തമാക്കുന്നത് എല്ലാ ഡാറ്റാബേസുകളിലെയും എല്ലാ ടേബിളുകളും ലോക്ക് ചെയ്യപ്പെടുന്നതിന് കാരണമാകുന്നു, അതേസമയം എല്ലാ ഡാറ്റാബേസുകളുടെയും ഒരു പൂർണ്ണ ഡംപ് സൃഷ്ടിക്കപ്പെടുന്നു.
  • --lock-tables, -l — ഈ ഐച്ഛികം വ്യക്തമാക്കുന്നത്, ഡംപ് സൃഷ്ടിക്കുന്ന ഡാറ്റാബേസിന്റെ ടേബിളുകൾ ലോക്ക് ചെയ്യുന്നു.
  • --no-autocommit - ഒരു ഇടപാടിൽ ഒരേ ടേബിളിൽ എല്ലാ INSERT പ്രസ്താവനകളും ഉൾപ്പെടുന്നു, ഇത് വേഗത്തിൽ ഡാറ്റ ലോഡുചെയ്യുന്നതിന് കാരണമാകുന്നു.
  • --no-create-db, -n — --databases, --all-databases ഓപ്‌ഷനുകൾ ഉപയോഗിക്കുമ്പോൾ സ്വയമേവ ചേർക്കുന്ന ക്രിയേറ്റ് ഡാറ്റാബേസ് പ്രസ്താവനകളുടെ ഡംപിംഗ് തടയുന്നു.
  • --no-data, -d — ഡമ്പിൽ INSERT പ്രസ്താവനകൾ സൃഷ്ടിക്കുന്നത് തടയുന്നു, ഇത് ഡാറ്റ ഇല്ലാതെ തന്നെ ഒരു ഡാറ്റാബേസ് ഘടന ഡംപ് ചെയ്യുമ്പോൾ ഉപയോഗപ്രദമാകും.
  • —opt — ഡാറ്റ ബാക്കപ്പിന്റെ വേഗത ഒപ്റ്റിമൈസ് ചെയ്യാൻ ഉദ്ദേശിച്ചുള്ളതാണ് പരാമീറ്റർ, ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ ഉൾപ്പെടുന്ന ഒരു കുറുക്കുവഴിയാണിത്: —quick —add-drop-table —add-locks —create-options —disable-keys —extended-insert —lock -ടേബിളുകൾ -സെറ്റ്-ചാർജറ്റ് . MySQL 4.1 മുതൽ, സ്ഥിരസ്ഥിതിയായി --opt ഓപ്ഷൻ ഉപയോഗിക്കുന്നു, അതായത്. മുകളിൽ പറഞ്ഞിരിക്കുന്ന എല്ലാ ഓപ്ഷനുകളും വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽപ്പോലും സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു. ഈ സ്വഭാവം ഒഴിവാക്കുന്നതിന്, നിങ്ങൾ --skip-opt പാരാമീറ്റർ ഉപയോഗിക്കണം
  • --order-by-primary - പരാമീറ്റർ വ്യക്തമാക്കുന്നത് ഇത് സംഭവിക്കുന്നതിന് കാരണമാകുന്നു. ഓരോ ടേബിളും ക്രമീകരിച്ചിരിക്കുന്നു പ്രാഥമിക കീഅല്ലെങ്കിൽ ആദ്യത്തെ അദ്വിതീയ സൂചിക.
  • --പോർട്ട്, -പി - നമ്പർ TCP പോർട്ട്, ഹോസ്റ്റുമായി ബന്ധിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു.
  • —protocol=(TCP|SOCKET|PIPE|MEMORY) — സെർവറിലേക്ക് കണക്ട് ചെയ്യുന്നതിനുള്ള പ്രോട്ടോക്കോൾ സജ്ജമാക്കാൻ പരാമീറ്റർ നിങ്ങളെ അനുവദിക്കുന്നു.
  • —quick, -q — കാത്തുനിൽക്കാതെ ഒരു ഡംപ് സൃഷ്ടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു മുഴുവൻ ലോഡ്സെർവറിൽ നിന്നുള്ള ഡാറ്റയും അതുവഴി മെമ്മറി ലാഭിക്കുകയും ചെയ്യുന്നു.
  • --quote-names, -Q — ഡാറ്റാബേസ്, പട്ടിക, കോളം എന്നിവയുടെ പേരുകൾ ബാക്ക്ടിക്കുകളിൽ `. MySQL 4.1-ൽ, ഈ ഓപ്ഷൻ സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു.
  • --replace - INSERT പ്രസ്താവനയിലേക്ക് REPLACE കീവേഡ് ചേർക്കുന്നു. ഈ ഓപ്ഷൻ ആദ്യം പ്രത്യക്ഷപ്പെട്ടത് MySQL 5.1.3 ലാണ്.
  • --result-file=/path/to/file, -r /path/to/file — പരാമീറ്റർ ഡംപ് അയയ്ക്കുന്നു ഫയൽ ഫയൽ. ഉപയോഗിക്കാതെ തന്നെ വിൻഡോസിൽ ഈ ഓപ്ഷൻ പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ് കമാൻഡ് ലൈൻ. സീക്വൻസുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഫലം ഒരു ഫയലിലേക്ക് റീഡയറക്‌ട് ചെയ്യാൻ കഴിയുമ്പോൾ > ഒപ്പം >>.
  • --routines, -R — സംഭരിച്ചിരിക്കുന്ന നടപടിക്രമങ്ങളുടെയും പ്രവർത്തനങ്ങളുടെയും ഒരു ഡംപ് ഈ ഐച്ഛികം സൃഷ്ടിക്കുന്നു. MySQL 5.1.2 ഉപയോഗിച്ച് ലഭ്യമാണ്.
  • --single-transaction - ഐച്ഛികം ഒരൊറ്റ ഇടപാടായി ഒരു ഡംപ് സൃഷ്ടിക്കുന്നു.
  • —skip-comments — ഈ പരാമീറ്റർ നിങ്ങളെ ഡംപിലേക്കുള്ള അധിക വിവരങ്ങളുടെ ഔട്ട്പുട്ട് അടിച്ചമർത്താൻ അനുവദിക്കുന്നു.
  • --socket=/path/to/socket, -S /path/to/socket — ലോക്കൽഹോസ്റ്റിലേക്ക് കണക്ട് ചെയ്യുന്നതിനുള്ള സോക്കറ്റ് ഫയൽ.
  • —tab=/path/, -T /path/ — ഈ പരാമീറ്റർ ഉപയോഗിക്കുമ്പോൾ, ഓരോ ടേബിളിനും പാത്ത് ഡയറക്ടറിയിൽ രണ്ട് പട്ടികകൾ സൃഷ്ടിക്കപ്പെടുന്നു. പ്രത്യേക ഫയൽ: tbl_name.sql, അതിൽ CREATE TABLE സ്റ്റേറ്റ്‌മെന്റ് അടങ്ങിയിരിക്കുന്നു, കൂടാതെ tbl_name.txt, അതിൽ ടാബ്-ഡിലിമിറ്റഡ് ടേബിൾ ഡാറ്റ അടങ്ങിയിരിക്കുന്നു. --fields-xxx, --lines-xxx ഓപ്ഷനുകൾ ഉപയോഗിച്ച് ഡാറ്റ ഫോർമാറ്റ് വ്യക്തമായി അസാധുവാക്കാൻ കഴിയും.
  • --tables - --databases (-B) പരാമീറ്റർ അസാധുവാക്കുന്നു. ഈ പരാമീറ്റർ പിന്തുടരുന്ന എല്ലാ ആർഗ്യുമെന്റുകളും പട്ടിക നാമങ്ങളായി കണക്കാക്കുന്നു.
  • -ട്രിഗറുകൾ - ട്രിഗറുകളുടെ ഒരു ഡംപ് സൃഷ്ടിക്കുന്നു. ഈ ഓപ്ഷൻ സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു. ഇത് പ്രവർത്തനരഹിതമാക്കുന്നതിന്, --skip-triggers ഓപ്ഷൻ ഉപയോഗിക്കുക.
  • --events, -E — ഒരു ഇവന്റ് ഡംപ് ഉണ്ടാക്കുന്നു. MySQL ഇവന്റ് ഷെഡ്യൂളർ അല്ലെങ്കിൽ MySQL-ലെ ബിൽറ്റ്-ഇൻ ഇവന്റ് മാനേജർ കാണുക.
  • —tz-utc — ഈ പരാമീറ്റർ ഉപയോഗിക്കുമ്പോൾ, SET TIME_ZONE='+00:00′ പോലെയുള്ള ഒരു ഓപ്പറേറ്റർ ഡമ്പിലേക്ക് ചേർക്കും, ഇത് വ്യത്യസ്ത സമയ മേഖലകളിൽ ഡംപുകൾ കൈമാറ്റം ചെയ്യാൻ അനുവദിക്കും.
  • --verbose, -v — എക്സ്റ്റെൻഡഡ് ഔട്ട്പുട്ട് മോഡ്. നിഗമനം കൂടുതൽ പൂർണമായ വിവരംപ്രോഗ്രാമിന്റെ പ്രവർത്തനത്തെക്കുറിച്ച്.
  • --version, -V — പ്രോഗ്രാം പതിപ്പിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ പ്രദർശിപ്പിക്കുക.
  • -എവിടെ='എവിടെ-കണ്ടീഷൻ', -w 'എവിടെ-കണ്ടീഷൻ' - തിരഞ്ഞെടുത്ത റെക്കോർഡുകൾ മാത്രം ഡംപ് ചെയ്യുക. ഉദ്ധരണി ചിഹ്നങ്ങൾ ആവശ്യമാണെന്ന് ദയവായി ശ്രദ്ധിക്കുക.
  • --xml, -X — ഡാറ്റാബേസ് ഡമ്പിനെ XML ആയി പ്രതിനിധീകരിക്കുന്നു.
  • --first-slave, -x — എല്ലാ ഡാറ്റാബേസുകളിലെയും എല്ലാ പട്ടികകളും ലോക്ക് ചെയ്യുന്നു.
  • —ഡീബഗ്=..., -# — പ്രോഗ്രാമിന്റെ പുരോഗതി നിരീക്ഷിക്കുക (ഡീബഗ്ഗിംഗിനായി).
  • --help — ഔട്ട്പുട്ട് പശ്ചാത്തല വിവരങ്ങൾപ്രോഗ്രാമിൽ നിന്ന് പുറത്തുകടക്കുക.

ആശംസകൾ, സുഹൃത്തുക്കളേ! 🙂

കൺസോളിൽ MySQL-മായി പ്രവർത്തിക്കുന്നത് സംബന്ധിച്ച സംഭാഷണം തുടരാനും MySQL ഡാറ്റാബേസ് കയറ്റുമതി ചെയ്യുന്നതിനുള്ള നടപടിക്രമങ്ങൾ ശ്രദ്ധിക്കാനും ഇന്ന് ഞാൻ തീരുമാനിച്ചു.

ഈ ലേഖനത്തിൽ ഞാൻ ഒരു MySQL ഡാറ്റാബേസ് എങ്ങനെ ഡംപ് ചെയ്യാം, അതുപോലെ MySQL-ൽ നിന്ന് ഒരു Excel ഫയലിലേക്കും csv ഫോർമാറ്റിലേക്കും ഡാറ്റ അപ്‌ലോഡ് ചെയ്യുന്നതിനെക്കുറിച്ച് സംസാരിക്കും.

ഞങ്ങൾ പരിഗണിക്കും വിവിധ ഓപ്ഷനുകൾഇതിൽ നിന്നുള്ള സാമ്പിൾ വിവരങ്ങൾ: ഒന്നോ അതിലധികമോ ഡാറ്റാബേസുകളുടെ ഒരു ഡംപ് സൃഷ്‌ടിക്കുക, വ്യക്തിഗത പട്ടികകളിൽ നിന്ന് ഡാറ്റ എക്‌സ്‌പോർട്ടുചെയ്യൽ, അനിയന്ത്രിതമായ ഫലങ്ങൾ തിരഞ്ഞെടുക്കുകഅഭ്യർത്ഥിക്കുന്നു.

സെർവർ കൺസോളിലെയും MySQL കമാൻഡ് ലൈനിലെയും MySQL ഡാറ്റാബേസിൽ നിന്ന് എങ്ങനെ ഡാറ്റ ഔട്ട്പുട്ട് ചെയ്യാം എന്നതിനെക്കുറിച്ചും ഞങ്ങൾ സംസാരിക്കും.

ഈ ലേഖനത്തിൽ, phpMyAdmin ഉം മറ്റ് വിഷ്വൽ ടൂളുകളും ഉപയോഗിച്ച് ഡാറ്റ എങ്ങനെ കയറ്റുമതി ചെയ്യാം എന്നതിനെക്കുറിച്ച് ഞാൻ സംസാരിക്കില്ല.

ഒന്നാമതായി, ഇൻറർനെറ്റിൽ ഈ വിഷയത്തിൽ മതിയായ മെറ്റീരിയൽ ഇതിനകം ഉള്ളതിനാൽ. മാത്രമല്ല, ഇത് ഉയർന്ന നിലവാരമുള്ള മെറ്റീരിയലാണ്, അത് കോപ്പി-പേസ്റ്റ് ചെയ്യാൻ എനിക്ക് താൽപ്പര്യമില്ല.

രണ്ടാമതായി, ഞാൻ സംസാരിച്ച എന്റെ ലേഖനങ്ങളിലൊന്നിൽ MySQL ഡാറ്റാബേസിൽ നിന്ന് ഒരു SQL ഫയലിലേക്ക് വിവരങ്ങൾ ഔട്ട്പുട്ട് ചെയ്യുന്ന പ്രക്രിയ ഞാൻ തന്നെ ഹ്രസ്വമായി അവലോകനം ചെയ്തു.

അതിനാൽ നിങ്ങൾ ഇല്ലെങ്കിൽ പ്രൊഫഷണൽ ഡെവലപ്പർഅഥവാ സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർ, കൺസോളുമായി പ്രവർത്തിക്കുന്നത് സംബന്ധിച്ച വിവരങ്ങൾ ആർക്കൊക്കെ ഉപയോഗപ്രദമാകും, കൂടാതെ ഡാറ്റാബേസ് phpMyAdmin-ലേക്ക് എങ്ങനെ എക്‌സ്‌പോർട്ട് ചെയ്യാം എന്നതിനെക്കുറിച്ചുള്ള നിർദ്ദേശങ്ങൾക്കായി മാത്രമാണ് നിങ്ങൾ വന്നത്, തുടർന്ന് മുകളിലെ ലിങ്കിലെ വിവരങ്ങൾ വായിക്കാൻ നിങ്ങൾക്ക് സ്വയം പരിമിതപ്പെടുത്താം.

നിങ്ങൾ എന്നെ ശരിയായി മനസ്സിലാക്കണമെന്ന് ഞാൻ ആഗ്രഹിക്കുന്നു: നിങ്ങളെ ഒരു തരത്തിലും വ്രണപ്പെടുത്താൻ ഞാൻ ആഗ്രഹിക്കുന്നില്ല, പക്ഷേ നിങ്ങൾ നിങ്ങളുടെ സമയം ചെലവഴിക്കണമെന്ന് ഞാൻ ആഗ്രഹിക്കുന്നു പരമാവധി പ്രയോജനംജോലിക്ക് വേണ്ടി, അവർ അന്വേഷിക്കുന്നത് കിട്ടി.

ഇത് ആമുഖ ഭാഗം അവസാനിപ്പിക്കുന്നു, ഒരു MySQL ഡാറ്റാബേസ് ഡംപ് സൃഷ്ടിക്കുന്നതിനുള്ള കൺസോൾ കമാൻഡുകളുടെ ഒരു അവലോകനത്തിലേക്ക് ഞങ്ങൾ നീങ്ങുന്നു, അത് സംരക്ഷിച്ചിരിക്കുന്ന ഡാറ്റയുടെ അളവ് അനുസരിച്ച് അടുക്കാൻ ഞാൻ തീരുമാനിച്ചു: മുഴുവൻ ഡാറ്റാബേസും എക്‌സ്‌പോർട്ടുചെയ്യുന്നത് മുതൽ വ്യക്തിഗത പട്ടികകളിൽ അവസാനിക്കുന്നു. ഏകപക്ഷീയമായ ചോദ്യങ്ങൾ.

കൺസോൾ വഴി ഒരു MySQL ഡാറ്റാബേസ് ഡംപ് സൃഷ്ടിക്കുന്നു

തുടക്കത്തിൽ തന്നെ ഒരു ചെറിയ വിശദീകരണം നൽകാൻ ഞാൻ ആഗ്രഹിക്കുന്നു.

ഡാറ്റാബേസ് ഡംപ്ഉള്ള ഒരു ഫയലാണ് SQL ന്റെ കൂട്ടംകമാൻഡുകൾ, സമാരംഭിക്കുമ്പോൾ, ഡാറ്റാബേസുകളും ടേബിളുകളും സൃഷ്ടിക്കാനും അവയിൽ വിവരങ്ങൾ പൂരിപ്പിക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു. ഒരു MySQL ഡാറ്റാബേസ് ഡൗൺലോഡ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നവർക്ക് അത് മറ്റൊരു സെർവറിലേക്കോ നിലവിലുള്ള ഒന്നിലേക്കോ പകർത്താൻ ഡംപ് ആവശ്യമാണ്.

കൂടാതെ, ആർക്കെങ്കിലും അറിയില്ലെങ്കിൽ, ഡാറ്റാബേസ് ബാക്കപ്പ് MySQL ഡാറ്റ, സാരാംശത്തിൽ, ഒരു നിശ്ചിത കാലയളവിൽ ഉണ്ടാക്കിയ ഒരു ഡംപ് ആണ്, അത് ആവശ്യമെങ്കിൽ ഡാറ്റാബേസിന്റെ ഘടനയും ഡാറ്റയും പുനഃസ്ഥാപിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു.

ഡാറ്റ കയറ്റുമതി ചെയ്യുകപട്ടികകളിൽ നിന്ന് വിവരങ്ങൾ വേർതിരിച്ചെടുക്കുന്നു ടെക്സ്റ്റ് ഫോംവേണ്ടി കൂടുതൽ ജോലിടെക്സ്റ്റ് അല്ലെങ്കിൽ ഗ്രാഫിക് എഡിറ്റർമാർക്കൊപ്പം.

അതിനാൽ, ഈ പ്രവർത്തനങ്ങൾക്കുള്ള കമാൻഡുകൾ അല്പം വ്യത്യസ്തമായിരിക്കും.

ഒരു ഡാറ്റാബേസ് ഡംപ് സൃഷ്ടിക്കുന്നതിന്, MySQL-ന് ഒരു ബിൽറ്റ്-ഇൻ യൂട്ടിലിറ്റി ഉണ്ട് mysqldump, ഇത് MySQL കമാൻഡ് ലൈനിന് പുറത്ത് സെർവർ കൺസോളിലോ മറ്റ് ഷെല്ലിലോ ഉപയോഗിക്കേണ്ടതാണ്.

അതിനാൽ, ഏറ്റവും ലളിതവും ഏറ്റവും സാധാരണവുമായ ഓപ്ഷനായി - ഒരു നിർദ്ദിഷ്ട ഡാറ്റാബേസിൽ നിന്ന് ഡാറ്റ എക്സ്പോർട്ട് ചെയ്യുന്നു MySQL കൺസോൾഇത് മറ്റൊരു സെർവറിലേക്കോ ആന്തരിക പകർപ്പിലേക്കോ കൈമാറാൻ, നിങ്ങൾ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്:

Mysqldump -u ഉപയോക്തൃനാമം -p database_name > path_and_dump_file_name

ഈ യൂട്ടിലിറ്റി SQL കമാൻഡുകൾ ഉള്ള ഫയലുകളുടെ രൂപത്തിൽ മാത്രമേ MySQL ഡാറ്റാബേസ് ഡംപുകൾ സൃഷ്ടിക്കാൻ കഴിയൂ, അതിനാൽ നിങ്ങളുടെ ഫയലിനായി നിങ്ങൾ ഏത് വിപുലീകരണം തിരഞ്ഞെടുത്താലും, അതിന്റെ ഉള്ളടക്കം ഏത് സാഹചര്യത്തിലും സമാനമായിരിക്കും. MySQL-ൽ നിന്ന് വിവരങ്ങൾ എക്‌സ്‌പോർട്ടുചെയ്യുന്നതിന് മുമ്പ് അത് സ്ഥിതി ചെയ്യുന്ന ഡയറക്ടറിയുടെ റൈറ്റ് അനുമതികൾ പരിശോധിക്കാൻ മറക്കരുത്, അതുവഴി ഫയൽ സൃഷ്ടിക്കാൻ കഴിയും.

സെർവറിലെ എല്ലാ ഡാറ്റാബേസുകളും ഉപയോഗിച്ച് പെട്ടെന്ന് ഒരു ഡംപ് ഉണ്ടാക്കണമെങ്കിൽ, അത് ഉപയോഗിക്കുക അടുത്ത ഓപ്ഷൻകമാൻഡുകൾ:

Mysqldump -u ഉപയോക്തൃനാമം -p --all-databases > path_and_dump_file_name

കുറച്ച് നിർദ്ദിഷ്ട ഡാറ്റാബേസുകൾ മാത്രം ഡംപ് ചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് നിങ്ങൾ mysqldump-ലേക്ക് വിളിക്കേണ്ടതുണ്ട്:

Mysqldump -u ഉപയോക്തൃനാമം -p --databases database_name1, database_name2, ... > path_and_dumpfile_name

തൽഫലമായി, ഓരോ സാഹചര്യത്തിലും, അടങ്ങിയിരിക്കുന്ന പട്ടികകളുടെ (ഫീൽഡുകൾ, അവയുടെ തരങ്ങൾ, സൂചികകൾ, കീകൾ മുതലായവ) ഘടന സൃഷ്ടിക്കുന്നതിനുള്ള കമാൻഡുകൾ അടങ്ങിയ ഒരു MySQL ഡാറ്റാബേസ് ഡംപ് നിങ്ങൾക്ക് ലഭിക്കും, കൂടാതെ അവ ഡാറ്റ ഉപയോഗിച്ച് പൂരിപ്പിക്കുന്നതിനുള്ള പ്രവർത്തനങ്ങളും.

മുഴുവൻ ഡാറ്റാബേസുകളും പുനഃസ്ഥാപിക്കുന്നതിനും പകർത്തുന്നതിനും മാത്രമേ ഈ ഓപ്ഷൻ അനുയോജ്യമാകൂ.

ചില ബാക്കപ്പുകൾ എങ്ങനെ നിർമ്മിക്കാം എന്നതിനെക്കുറിച്ച് MySQL പട്ടികകൾകൂടാതെ അവരുടെ ഡാറ്റ സ്വീകരിക്കുക വായിക്കാവുന്ന രൂപം, ഞങ്ങൾ കൂടുതൽ സംസാരിക്കും.

ഒരു MySQL ടേബിൾ വലിച്ചെറിയുകയും ഡാറ്റ കയറ്റുമതി ചെയ്യുകയും ചെയ്യുന്നു

ചില MySQL ഡാറ്റാബേസ് ടേബിളുകളുടെ ഒരു ഡമ്പ് സൃഷ്‌ടിക്കുന്നതിന്, ഞങ്ങൾക്ക് അതേ യൂട്ടിലിറ്റി ആവശ്യമാണ് mysqldump, ഇനിപ്പറയുന്ന പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് വിളിക്കുന്നു:

Mysqldump -u ഉപയോക്തൃനാമം -p database_name table_name1, table_name2, ... > path_and_dumpfile_name

mysqldump-ലേക്ക് വിളിക്കുമ്പോൾ, നിങ്ങൾക്ക് ആവശ്യമായ പട്ടികകൾ പാരാമീറ്റർ മൂല്യമായി വ്യക്തമാക്കാം --പട്ടികകൾ, പരാമീറ്റർ ഉപയോഗിക്കുമ്പോൾ --ഡാറ്റാബേസുകൾഅവഗണിക്കപ്പെടും:

Mysqldump -u ഉപയോക്തൃനാമം -p --databases database_name1, database_name2 --tables table_name1, table_name2, ... > path_and_dumpfile_name

മുകളിലുള്ള ഉദാഹരണം ഇനിപ്പറയുന്ന പിശക് പ്രദർശിപ്പിക്കും:

Mysqldump: പിശക് ലഭിച്ചു: 1049: ഡാറ്റാബേസ് തിരഞ്ഞെടുക്കുമ്പോൾ അറിയപ്പെടാത്ത ഡാറ്റാബേസ് "database_name1,"

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ലിസ്റ്റിൽ നിന്നുള്ള ഏറ്റവും പുതിയ ഡാറ്റാബേസ് മാത്രമേ ഉപയോഗിക്കൂ. തത്വത്തിൽ, ഈ സ്വഭാവം തികച്ചും യുക്തിസഹമാണ്, കാരണം എല്ലാ ഡാറ്റാബേസുകളിലും നിർദ്ദിഷ്ട പട്ടികകൾ ദൃശ്യമാകണമെന്നില്ല.

ശരി, ഞങ്ങൾക്ക് MySQL ഡാറ്റാബേസ് പട്ടികകളുടെ ഒരു ഡംപ് ലഭിച്ചു. അവ പുനഃസ്ഥാപിക്കാനോ ഘടനയോടൊപ്പം പകർത്താനോ ഇത് ഉപയോഗിക്കാം.

എന്നാൽ നിങ്ങൾക്ക് അവയിൽ സംഭരിച്ചിരിക്കുന്ന വിവരങ്ങൾ ലഭിക്കുകയും, വെയിലത്ത്, വായിക്കാൻ കഴിയുന്ന ഒരു രൂപത്തിൽ അത് മാനേജർക്ക് അയയ്‌ക്കാനും ഒരു സാധാരണ ടെക്‌സ്‌റ്റോ സ്‌പ്രെഡ്‌ഷീറ്റ് എഡിറ്ററിലോ കാണാനും കഴിയുമെങ്കിൽ എന്തുചെയ്യും? MySQL-ൽ ഇതിനുള്ള ടൂളുകളും ഉണ്ട്.

യൂട്ടിലിറ്റിയെ വിളിക്കാനുള്ള ഓപ്ഷൻ ഞങ്ങളുടെ പ്ലാനുകൾ നേടാൻ സഹായിക്കും mysqlചില പരാമീറ്ററുകളുള്ള കൺസോളിൽ നിന്ന്:

Mysql -u ഉപയോക്തൃനാമം -p database_name -e "ടേബിൾ_നാമത്തിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക"

കമാൻഡ് ലൈനിലേക്ക് പോകാതെ തന്നെ ആവശ്യമായ ഡാറ്റാബേസിലേക്ക് ഒരു ചോദ്യം എക്സിക്യൂട്ട് ചെയ്യാനും ഫലം കൺസോളിലേക്ക് ഔട്ട്പുട്ട് ചെയ്യാനും ഈ കമാൻഡ് ഞങ്ങളെ അനുവദിക്കും. MySQL സ്ട്രിംഗ്.

ശരി, കൺസോളിലേക്ക് ഡാറ്റ ഔട്ട്പുട്ട് ചെയ്യാതിരിക്കാൻ, അത് ഒരു ഫയലിലേക്ക് എഴുതാൻ, നിങ്ങൾ കമാൻഡ് ഇനിപ്പറയുന്ന രീതിയിൽ സപ്ലിമെന്റ് ചെയ്യേണ്ടതുണ്ട്:

Mysql -u ഉപയോക്തൃനാമം -p -e "ടേബിൾനാമത്തിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക" > path_and_filename

ഈ നിർമ്മാണങ്ങൾക്ക് നന്ദി, പട്ടികയുടെ എല്ലാ ഫീൽഡുകളിലും സംഭരിച്ചിരിക്കുന്ന ഡാറ്റ മാത്രമല്ല, പ്രത്യേകമായവയിലും നമുക്ക് ലഭിക്കും. ഇത് ചെയ്യുന്നതിന്, വൈൽഡ്കാർഡ് (*) ചിഹ്നം കോമകളാൽ വേർതിരിച്ച ആവശ്യമുള്ളവ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുക.

തൽഫലമായി, ഞങ്ങളുടെ ഔട്ട്പുട്ട് സാധാരണ ആയിരിക്കും ടെക്സ്റ്റ് ഫയൽ, ഒരു തലക്കെട്ടിന്റെ രൂപത്തിൽ ഫീൽഡുകളുടെ പേരുകളും എല്ലാ റെക്കോർഡുകൾക്കുമുള്ള വിവരങ്ങളും അതിൽ അടങ്ങിയിരിക്കും. ഒരു റെഗുലർ ടെക്സ്റ്റ് എഡിറ്ററിൽ ഇത് തുറക്കാൻ കഴിയും, അത് സൃഷ്ടിക്കുമ്പോൾ നിങ്ങൾ എന്ത് റെസല്യൂഷൻ നൽകിയാലും.

നിങ്ങൾക്ക് ഒരു MySQL ഡാറ്റാബേസിൽ നിന്ന് xls അല്ലെങ്കിൽ csv ഫോർമാറ്റിൽ ഡാറ്റ എക്‌സ്‌പോർട്ട് ചെയ്യണമെങ്കിൽ, തത്ഫലമായുണ്ടാകുന്ന ഫയൽ സ്‌പ്രെഡ്‌ഷീറ്റ് എഡിറ്ററുകളിൽ ശരിയായി പ്രദർശിപ്പിക്കും, ഇത് എങ്ങനെ ചെയ്യണമെന്ന് കുറച്ച് കഴിഞ്ഞ് ഞങ്ങൾ നിങ്ങളോട് പറയും :)

ചോദ്യങ്ങൾ ഉപയോഗിച്ച് MySQL ഡാറ്റാബേസിൽ നിന്ന് ബാക്കപ്പുകളും ഔട്ട്പുട്ട് ഡാറ്റയും സൃഷ്ടിക്കുന്നു

ഒരു MySQL ഡാറ്റാബേസ് എങ്ങനെ ഡംപ് ചെയ്യാം എന്നതിനെക്കുറിച്ച് ഞങ്ങൾ സംസാരിച്ചു - ഒന്നോ അതിലധികമോ, അതുപോലെ വ്യക്തിഗത പട്ടികകൾ. എന്നാൽ ചിലപ്പോൾ പ്രായോഗികമായി ഒരു ടേബിളിൽ പരിമിതപ്പെടുത്താത്ത ഒരു ഡാറ്റാ സെറ്റ് എക്‌സ്‌പോർട്ട് ചെയ്യേണ്ട സന്ദർഭങ്ങളുണ്ട്. അല്ലെങ്കിൽ നിങ്ങൾ പട്ടികയിൽ നിന്ന് കുറച്ച് ഡാറ്റ മാത്രം തിരഞ്ഞെടുക്കേണ്ടതുണ്ട്.

എല്ലാത്തരം സ്റ്റാറ്റിസ്റ്റിക്കൽ ഡാറ്റയും നൽകാൻ മാനേജർമാർ ആവശ്യപ്പെടുമ്പോൾ കോർപ്പറേറ്റ് പ്രോജക്റ്റുകളുടെ ഡെവലപ്പർമാർ ഇത് പലപ്പോഴും അഭിമുഖീകരിക്കുന്നു. അല്ലെങ്കിൽ ടേബിളിന്റെ ഒരു പ്രത്യേക ഭാഗം വേഗത്തിൽ പുനഃസ്ഥാപിക്കുന്നതിന് ബാക്കപ്പ് ചെയ്യേണ്ടിവരുമ്പോൾ.

ബാക്കപ്പിനായി ഞങ്ങൾക്ക് ഇതേ യൂട്ടിലിറ്റി ആവശ്യമാണ് mysqldump, ഇതിനെ ഇങ്ങനെ വിളിക്കേണ്ടതുണ്ട്:

Mysqldump -u user_name -p database_name table_name --എവിടെ "ലുക്ക്അപ്പ്" > path_and_dump_file_name

തൽഫലമായി, അതിന്റെ മുഴുവൻ ഘടനയോടും കൂടി ഒരു പട്ടിക സൃഷ്ടിക്കുന്നതിന് SQL കമാൻഡുകൾ ഉള്ള ഒരു ഫയൽ ഞങ്ങൾക്ക് ലഭിക്കും, അത് സൃഷ്ടിച്ചതിന് ശേഷം, ഒരു ലുക്ക്അപ്പ് ചോദ്യം ഉപയോഗിച്ച് തിരഞ്ഞെടുത്ത വിവരങ്ങൾ കൊണ്ട് നിറയും.

നമുക്ക് ഒന്നോ അതിലധികമോ പട്ടികകളിൽ സംഭരിച്ചിരിക്കുന്ന ഡാറ്റ ലഭിക്കണമെങ്കിൽ, ചില വ്യക്തതകളോടെ മാത്രം, പട്ടികയിലെ എല്ലാ ഡാറ്റയും വീണ്ടെടുക്കുമ്പോൾ മുമ്പത്തെ കേസിൽ ഉപയോഗിച്ച കമാൻഡ് പരിഷ്കരിക്കേണ്ടതുണ്ട്:

Mysql -u user_name -p -e "തിരഞ്ഞെടുക്കുക * പട്ടിക_പേരിൽ നിന്ന് എവിടെയാണ് തിരയുക" > path_and_file_name

നിങ്ങൾ മനസ്സിലാക്കുന്നതുപോലെ, നിർദ്ദേശം ഉപയോഗിച്ച് അഭ്യർത്ഥനയിൽ വ്യക്തമാക്കിയ വിവിധ വ്യക്തതകൾക്ക് പുറമേ എവിടെ, നിങ്ങൾക്ക് മറ്റ് ഉപയോഗിക്കാം SQL നിർമ്മാണങ്ങൾ: ചേരുക, യൂണിയൻതുടങ്ങിയവ.

നിങ്ങൾക്ക് ആവശ്യമുള്ള ഏത് സ്ഥിതിവിവരക്കണക്കുകളും ശേഖരിക്കാം :)

ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് MySQL കമാൻഡ് ലൈനിൽ പ്രവർത്തിക്കുമ്പോഴും ഇതേ പ്രവർത്തനം നടത്താം:

* ഡാറ്റാബേസ്_ടേബിളിൽ നിന്ന് തിരഞ്ഞെടുക്കുക

സാമ്പിൾ ഫലങ്ങളുള്ള ഫയലുകൾ സൃഷ്ടിക്കാൻ ഈ കമാൻഡ് പ്രത്യേകം രൂപകൽപ്പന ചെയ്തിട്ടുള്ളതാണ്. മാത്രമല്ല, ഫലങ്ങൾ ഫയലുകളിലേക്ക് കയറ്റുമതി ചെയ്യാൻ മാത്രമല്ല, വേരിയബിളുകളിലേക്ക് എഴുതാനും കഴിയും, കൂടാതെ ഔട്ട്പുട്ട് ഡാറ്റ വിവിധ രീതികളിൽ ഫോർമാറ്റ് ചെയ്യാനും കഴിയും.

മുകളിൽ പറഞ്ഞത് നിങ്ങളുടെ കാര്യമാണെങ്കിൽ മുഴുവൻ പട്ടികഈ കമാൻഡ് വിളിക്കുന്നതിനുള്ള പാരാമീറ്ററുകളും ഓപ്ഷനുകളും നിങ്ങൾക്ക് ഇവിടെ കണ്ടെത്താം - https://dev.mysql.com/doc/refman/5.7/en/select-into.html

അവന്റെ അവസാനം ചെറിയ ഉല്ലാസയാത്ര mysqldump-നായി, MySQL ഡാറ്റാബേസിന്റെയും ടേബിളുകളുടെയും ഒപ്റ്റിമൈസ് ചെയ്ത ഡംപ് സൃഷ്‌ടിക്കുന്നതിന് പാരാമീറ്ററുകളുടെ ഒരു ലിസ്റ്റ് ഉള്ള ഒരു കമാൻഡ് വിളിക്കുന്നതിനുള്ള ഒരു ഓപ്ഷൻ നൽകാൻ ഞാൻ ആഗ്രഹിക്കുന്നു, ഡാറ്റാബേസും വ്യക്തിഗത ടേബിളുകളും പുനഃസ്ഥാപിക്കുന്നു, അതിൽ നിന്ന് ഒരു സാധാരണ കോളിനേക്കാൾ കുറച്ച് സമയമെടുക്കും:

Mysqldump -u ഉപയോക്തൃനാമം -h host_or_IP_MySQL_server -p --no-autocommit --opt database_name > path_and_dump_file_name;

പരീക്ഷണത്തിനായി ഞാൻ ഉപയോഗിച്ചു ഈ ഓപ്ഷൻ 143 MB വലിപ്പമുള്ള MySQL ഡാറ്റാബേസ് ഡംപ് ചെയ്യുന്നതിനായി. പ്രത്യേക പാരാമീറ്ററുകളില്ലാതെ mysqldump-ൽ വിളിച്ച് ഉണ്ടാക്കിയ ഒരു ഡമ്പിൽ നിന്ന് ഡാറ്റാബേസ് പുനഃസ്ഥാപിച്ചപ്പോൾ 1 മിനിറ്റും 3 സെക്കൻഡും താരതമ്യം ചെയ്യുമ്പോൾ തുടർന്നുള്ള പുനഃസ്ഥാപനത്തിന് 59 സെക്കൻഡ് വേണ്ടിവന്നു.

ഇതൊരു ചെറിയ കാര്യമാണെന്ന് ഞാൻ സമ്മതിക്കുന്നു. എന്നാൽ ഇത് ഒരു നിശ്ചിത അളവിലുള്ള ഡാറ്റയുടെ കാര്യത്തിൽ മാത്രമാണ്. 1GB-യിൽ കൂടുതലുള്ള ഒരു ഡംപ് സൃഷ്ടിക്കുമ്പോൾ നിങ്ങൾ ഈ സാങ്കേതികവിദ്യ ഉപയോഗിക്കുകയാണെങ്കിൽ, വ്യത്യാസം കൂടുതൽ പ്രാധാന്യമർഹിക്കുന്നതായിരിക്കും.

നിങ്ങൾ അത്തരമൊരു സാഹചര്യം നേരിടുകയാണെങ്കിൽ, ആദ്യം MySQL ഡാറ്റാബേസ് ഡംപ് ആർക്കൈവ് ചെയ്യാൻ മറക്കരുത്. ഏറ്റവും മികച്ചത് tar.gz ആണ്. അപ്പോൾ വീണ്ടെടുക്കൽ കൂടുതൽ സമയമെടുക്കും.

MySQL-ൽ നിന്ന് Excel, csv ഫയലുകളിലേക്ക് ഡാറ്റ എക്സ്പോർട്ട് ചെയ്യുക

MySQL-ൽ നിന്നുള്ള വിവരങ്ങൾ ഈ രണ്ട് ഫോർമാറ്റുകളിലേക്കും ഒരു ബ്ലോക്കിൽ ഔട്ട്പുട്ട് ചെയ്യുന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ ഞാൻ സംയോജിപ്പിച്ചത് വെറുതെയല്ല, കാരണം... അവ വളരെ സാമ്യമുള്ളവയാണ്, അവ ഏകദേശം ഒരേ രീതിയിൽ ഉപയോഗിക്കുന്നു (പട്ടികകളുടെ രൂപത്തിൽ വിവരങ്ങൾ രൂപപ്പെടുത്തുന്നതിന്) കൂടാതെ കയറ്റുമതിക്കുള്ള അതേ കമാൻഡുകൾ വിളിക്കപ്പെടും.

നിങ്ങൾക്കറിയാവുന്നതുപോലെ, ഈ ഫോർമാറ്റുകൾ തമ്മിലുള്ള ഒരേയൊരു പ്രധാന വ്യത്യാസം xls വിപുലീകരണം xlsx എന്നിവയിൽ ഫയലുകൾ സൃഷ്ടിച്ചിട്ടുണ്ട് മൈക്രോസോഫ്റ്റ് പ്രോഗ്രാംവിൻഡോസിൽ മാത്രം പ്രവർത്തിക്കുന്ന ഓഫീസ് എക്സൽ, കൂടാതെ csv ഫയൽകൾ കൂടുതൽ സാർവത്രികമാണ്, അവ ഉപയോഗിച്ചുള്ള പ്രവർത്തനങ്ങൾ പല എഡിറ്റർമാരിലും സാധ്യമാണ്.

xls ഒഴികെ മറ്റെവിടെയെങ്കിലും ഉണ്ടെന്ന് ഇതിനർത്ഥമില്ല മൈക്രോസോഫ്റ്റ് ഓഫീസ് Excel തുറക്കില്ല. അതേ ഓപ്പൺ ഓഫീസ് വിപരീതം സ്ഥിരീകരിക്കുന്നു.

എന്നാൽ ഇത് സാധ്യമാകണമെങ്കിൽ, ഈ പിന്തുണ ഉണ്ടായിരിക്കണം സോഫ്റ്റ്വെയർ ഉൽപ്പന്നം. നോട്ട്പാഡ് പോലെയുള്ള ഒരു സാധാരണ ടെക്സ്റ്റ് എഡിറ്ററിൽ പോലും csv ഫയലുകൾ വായിക്കാൻ കഴിയും, എന്നാൽ ഈ ഫോം പൂർണ്ണമായും വായിക്കാൻ കഴിയില്ല.

ഞങ്ങൾ നേരത്തെ പ്രവർത്തിക്കാൻ പഠിച്ച xls അല്ലെങ്കിൽ csv ലേക്ക് SQL അന്വേഷണങ്ങളുടെ ഫലങ്ങൾ മാത്രമേ നിങ്ങൾക്ക് എക്‌സ്‌പോർട്ട് ചെയ്യാൻ കഴിയൂ എന്ന വസ്തുതയിൽ നിന്ന് ഞാൻ ആരംഭിക്കട്ടെ, കാരണം ഒരു പ്രവർത്തനത്തിൽ മുഴുവൻ ഡാറ്റാബേസും ഒരു ഫയലിലേക്ക് ഔട്ട്പുട്ട് ചെയ്യുന്നത് അസാധ്യമാണ്.

ഒന്നാമതായി, ഇത് ഒപ്റ്റിമൽ അല്ല, കാരണം ... അത്തരം ഒരു ഫയൽ എപ്പോൾ തുറക്കാൻ സാധ്യതയില്ല വലിയ വോള്യങ്ങൾഡാറ്റാബേസിൽ സംഭരിച്ചിരിക്കുന്ന വിവരങ്ങൾ. രണ്ടാമതായി, ഫയലിനുള്ളിലെ വിവരങ്ങൾ പട്ടികകളിലേക്കും ഫീൽഡുകളിലേക്കും എങ്ങനെ വിഭജിക്കാം എന്നത് വ്യക്തമല്ല.

ഇല്ല, തീർച്ചയായും ഇത് ചെയ്യാൻ കഴിയും, പക്ഷേ ഇത് ഒരു കമാൻഡ് ഉപയോഗിച്ച് ചെയ്യാൻ സാധ്യതയില്ല, പൊതുവെ കൺസോളിൽ ആരെങ്കിലും ഇത് ചെയ്യാൻ സാധ്യതയില്ല. ഈ ആവശ്യങ്ങൾക്ക് നിങ്ങൾക്ക് പ്രത്യേക സോഫ്റ്റ്വെയറോ കുറഞ്ഞത് ഒരു സ്ക്രിപ്റ്റോ ആവശ്യമാണെന്ന് ഞാൻ കരുതുന്നു.

മുഴുവൻ MySQL ഡാറ്റാബേസിൽ നിന്നും കൺസോളിലെ ഒന്നോ അതിലധികമോ xls ഫയലുകളിലേക്ക് ഒരേസമയം വിവരങ്ങൾ എങ്ങനെ എക്‌സ്‌പോർട്ടുചെയ്യാമെന്ന് നിങ്ങൾക്ക് പെട്ടെന്ന് അറിയാമെങ്കിൽ, അതിനെക്കുറിച്ച് അഭിപ്രായങ്ങളിൽ എഴുതുക. ഇതിനെക്കുറിച്ച് വായിക്കുന്നത് പലർക്കും ഉപകാരപ്പെടുമെന്ന് ഞാൻ കരുതുന്നു.

അതിനാൽ, MySQL-ൽ നിന്ന് xls, csv എന്നിവയിലേക്ക് ഡാറ്റ എങ്ങനെ എക്‌സ്‌പോർട്ട് ചെയ്യാം എന്നതിനെക്കുറിച്ചാണ് നമ്മൾ സംസാരിക്കുന്നതെങ്കിൽ, ഇത് യൂട്ടിലിറ്റി വഴി സെർവർ കൺസോളിൽ നേരിട്ട് ചെയ്യാം. mysqlഅല്ലെങ്കിൽ, എന്റെ മുൻ ലേഖനത്തിൽ ഞാൻ നിങ്ങളെ പരിചയപ്പെടുത്തിയ കൃതി.

നമുക്ക് ക്രമത്തിൽ ആരംഭിക്കാം.

MySQL ഡാറ്റാബേസിൽ നിന്ന് csv ലേക്ക് ഡാറ്റ കയറ്റുമതി ചെയ്യുക ഒപ്പം xls ഫോർമാറ്റുകൾസെർവർ കൺസോളിൽ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കമാൻഡുകൾ നേരിട്ട് ഉപയോഗിക്കാം.

ഓൺ ലിനക്സ്സംവിധാനങ്ങൾ:

Mysql -u ഉപയോക്തൃനാമം -d database_name -p -e "സെലക്ട് * ഡാറ്റാബേസ്_ടേബിളിൽ നിന്ന്;" | sed "s/"/\"/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > path_and_file_name. csv

തത്വത്തിൽ, തികച്ചും ആവശ്യമെങ്കിൽ, ഒരു Excel ഫയലിലേക്ക് MySQL ഡാറ്റ എക്സ്പോർട്ട് ചെയ്യാൻ നിങ്ങൾക്ക് ഈ കമാൻഡ് ഉപയോഗിക്കാം. പക്ഷേ, സത്യം പറഞ്ഞാൽ, ഞാൻ ഇത് പ്രായോഗികമായി കൈകാര്യം ചെയ്തിട്ടില്ല, അവസാനം എന്ത് സംഭവിക്കുമെന്ന് എനിക്കറിയില്ല, കാരണം ... ഞാൻ ഇപ്പോൾ വിൻഡോസിൽ ജോലി ചെയ്യുകയാണ്. Linux-ന് കീഴിൽ നിങ്ങൾ ഈ കമാൻഡ് ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങളുടെ ജോലിയുടെ ഫലങ്ങളെക്കുറിച്ചുള്ള അഭിപ്രായങ്ങളിൽ ദയവായി എഴുതുക. വിവരങ്ങൾ എല്ലാവർക്കും താൽപ്പര്യമുള്ളതായിരിക്കുമെന്ന് ഞാൻ കരുതുന്നു.

ഓൺ വിൻഡോസ്:

മുകളിലുള്ള കമാൻഡ് ഇൻ ഉപയോഗിച്ച് MySQL പട്ടികകളിൽ നിന്ന് csv-ലേക്ക് ഡാറ്റ എക്‌സ്‌പോർട്ട് ചെയ്യുക ഈ സാഹചര്യത്തിൽനിർഭാഗ്യവശാൽ, അത് സാധ്യമാകില്ല, കാരണം വിൻഡോസ്, ലിനക്സിൽ നിന്ന് വ്യത്യസ്തമായി, ബിൽറ്റ്-ഇൻ ഇല്ല കൺസോൾ കമാൻഡ്ലിനക്സിൽ സെഡ് ചെയ്തിരിക്കുന്ന ത്രെഡുകളിൽ പ്രവർത്തിക്കുന്നതിന്.

തീർച്ചയായും, നിങ്ങൾക്ക് ഇത് ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും, പക്ഷേ ഇത് വളരെ ബുദ്ധിമുട്ടാണ്. പകരമായി, നിങ്ങൾക്ക് ഉപയോഗിക്കാം സിഗ്വിൻ- എമുലേറ്റർ Linux കൺസോളുകൾവിൻഡോസ് സിസ്റ്റങ്ങൾക്കായി.

നിങ്ങൾ ഇത് ഇതിനകം ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ അത് നല്ലതാണ്. അല്ലെങ്കിൽ, തിരഞ്ഞെടുത്ത രീതി ഉപയോഗിച്ച് MySQL ഡാറ്റാബേസിൽ നിന്ന് ഡാറ്റ കയറ്റുമതി ചെയ്യുന്നത് ഞങ്ങൾക്ക് വളരെയധികം പ്രശ്‌നമുണ്ടാക്കും.

എന്നാൽ ഒരു xls ഫയലിലേക്ക് വിവരങ്ങൾ എക്‌സ്‌ട്രാക്റ്റുചെയ്യുന്നത് 5 കോപെക്കുകൾ പോലെ എളുപ്പമാണ് :) ഇത് സമാരംഭിക്കുന്നത് വളരെ എളുപ്പമാണ് താഴെ പറയുന്ന രീതിയിൽഞാൻ വ്യക്തിപരമായി ശ്രമിച്ചത്:

Mysql -u ഉപയോക്തൃനാമം -d database_name -p -e "സെലക്ട് * ഡാറ്റാബേസ്_ടേബിളിൽ നിന്ന്;" > path_and_file_name.xls

തുറന്നു ഈ ഫയൽമൈക്രോസോഫ്റ്റ് ഓഫീസ് എക്സലിൽ ഒരു പ്രശ്നവുമില്ലാതെ. ഒരേയൊരു കാര്യം, അത് തുറക്കുമ്പോൾ, തുറക്കുന്ന ഫയലിന്റെ യഥാർത്ഥ ഫോർമാറ്റ് അതിന്റെ നിർദ്ദിഷ്ട വിപുലീകരണത്തിൽ നിന്ന് വ്യത്യസ്തമാണെന്ന് മുന്നറിയിപ്പ് നൽകുന്ന ഒരു സന്ദേശം സ്ക്രീനിൽ പ്രദർശിപ്പിക്കും എന്നതാണ്.

എന്നാൽ പ്രവർത്തനം സ്ഥിരീകരിക്കുമ്പോൾ, ഡോക്യുമെന്റ് ബുദ്ധിമുട്ടില്ലാതെ തുറന്നു - എല്ലാ വിവരങ്ങളും പട്ടികയിൽ തന്നെ സൂക്ഷിച്ചിരിക്കുന്ന രൂപത്തിൽ സെല്ലുകളായി തിരിച്ചിരിക്കുന്നു.

എനിക്കറിയില്ല, ഒരുപക്ഷേ നിങ്ങൾ Microsoft Office Excel-ൽ എന്തെങ്കിലും പ്രത്യേക പ്രവർത്തനങ്ങൾ നടത്തിയാൽ, ഭാവിയിൽ പ്രശ്നങ്ങൾ ഉണ്ടാകാം; ഞാൻ അത്ര ആഴത്തിൽ കുഴിച്ചിട്ടില്ല. സാധാരണ ഡാറ്റ കാണുമ്പോൾ, ഇത്രയെങ്കിലും, ഞാൻ അസാധാരണമായി ഒന്നും കണ്ടില്ല.

ഈ പ്രോഗ്രാമിലോ മറ്റുള്ളവയിലോ MySQL-ൽ നിന്ന് എക്‌സ്‌പോർട്ടുചെയ്‌ത xls ഫയൽ ഉപയോഗിക്കുമ്പോൾ എന്തെങ്കിലും പ്രശ്‌നങ്ങൾ നേരിടുകയാണെങ്കിൽ, ദയവായി എന്നെ അഭിപ്രായങ്ങളിൽ അറിയിക്കുക.

മുകളിൽ വിവരിച്ച രീതി ഉപയോഗിച്ച്, നിങ്ങൾക്ക് MySQL ഡാറ്റാബേസിന്റെ ഉള്ളടക്കങ്ങൾ തത്വത്തിൽ ഒരു csv ഫയലിലേക്ക് കയറ്റുമതി ചെയ്യാൻ കഴിയും. എന്നാൽ പട്ടികയുടെ വിവിധ ഫീൽഡുകളിൽ നിന്നുള്ള ഡാറ്റ ഡിലിമിറ്ററുകൾ ഇല്ലാതെ കൂട്ടത്തോടെ എഴുതപ്പെടും, അത് നന്നായി പ്രദർശിപ്പിക്കപ്പെടില്ല വിവിധ പരിപാടികൾടേബിളുകളിൽ പ്രവർത്തിക്കുന്നതിന്, അവ സാധാരണയായി csv ഫയലുകളിൽ പ്രവർത്തിക്കുന്നു.

OpenOffice, അതൊന്നും കാര്യമാക്കുന്നില്ല :) MySQL ഡാറ്റാബേസിന്റെ ഉള്ളടക്കങ്ങൾ xls-ലേക്ക് ഞങ്ങൾ എക്‌സ്‌പോർട്ടുചെയ്യുന്ന രീതിയിൽ ലഭിച്ച വിവരങ്ങൾ ഇത് സ്വയമേവ വേർതിരിച്ചു. അവൻ ഇത് എങ്ങനെ ചെയ്യുന്നുവെന്ന് എനിക്കറിയില്ല, പക്ഷേ ഇത് ഉപയോഗിക്കാൻ ഞാൻ ശുപാർശ ചെയ്യുന്നു :)

ശരി, അതേ മൈക്രോസോഫ്റ്റ് ഓഫീസ് എക്സൽ ഒരു റെക്കോർഡുമായി ബന്ധപ്പെട്ട എല്ലാ വിവരങ്ങളും പട്ടികയിൽ പ്രദർശിപ്പിച്ചു, ഡിലിമിറ്ററുകൾ ഇല്ലാതെ ഒരു സെല്ലിൽ എഴുതുന്നു. ഞാൻ ഊഹിക്കുന്നു, അത് സമാനമായ രീതിയിൽകൂടുതൽ ടേബിൾ എഡിറ്റർമാർ വരുന്നു.

അതിനാൽ, ഒരു MySQL ഡാറ്റാബേസ് csv ഫയലുകളിലേക്ക് കയറ്റുമതി ചെയ്യുമ്പോൾ, വിവരങ്ങൾ വേർതിരിച്ചുകൊണ്ട് നിങ്ങൾ അത് ചെയ്യേണ്ടതുണ്ട് പ്രത്യേക കഥാപാത്രങ്ങൾ, എഡിറ്റർമാർ മനസ്സിലാക്കിയത്.

പിന്നെ ഞാൻ ക്രമേണ രണ്ടാമത്തെ രീതിയെ സമീപിച്ചു MySQL കയറ്റുമതി Csv, xls എന്നിവയിലെ ഡാറ്റ, MySQL കമാൻഡ് ലൈൻ ഉപയോഗിക്കുന്നത് ഉൾപ്പെടുന്നു.

അതിനാൽ, ഈ രീതിയിൽ ഒരു csv ഫയലിലേക്ക് MySQL ഡാറ്റ എക്‌സ്‌പോർട്ടുചെയ്യുന്നതിന്, ഞങ്ങൾക്ക് ഇനിപ്പറയുന്ന കമാൻഡ് ആവശ്യമാണ്:

* ഡാറ്റാബേസ്_ടേബിളിൽ നിന്ന് ഔട്ട്‌ഫൈലായി തിരഞ്ഞെടുക്കുക "path_and_file_name.csv" ഫീൽഡുകൾ അവസാനിപ്പിച്ചത് "," അവസാനിപ്പിച്ച """ വരികൾ അവസാനിപ്പിച്ചത് "\n";

അതിന്റെ നിർവ്വഹണത്തിന്റെ ഫലമായി, വിളിക്കുമ്പോൾ നിങ്ങൾ വ്യക്തമാക്കിയ പാതയിൽ നിങ്ങൾക്ക് ഒരു csv ഫയൽ ലഭിക്കും, അത് മിക്ക ആധുനിക സ്പ്രെഡ്ഷീറ്റ് എഡിറ്ററുകളിലും ശരിയായി തുറക്കും. അങ്ങനെയാണെങ്കിൽ, ഓടാൻ ഞാൻ നിങ്ങളെ ഓർമ്മിപ്പിക്കുന്നു ഈ കമാൻഡ്ഒരു MySQL ഡാറ്റാബേസിലേക്ക് കണക്റ്റുചെയ്‌തതിനുശേഷം മാത്രമേ ആവശ്യമുള്ളൂ.

Microsoft Office Excel-ൽ ശരിയായ ഡിസ്പ്ലേയ്ക്കായി MySQL ഡാറ്റ ഒരു xls ഫയലിലേക്ക് എക്‌സ്‌പോർട്ടുചെയ്യുന്നതിനും ഈ കമാൻഡ് മികച്ചതാണ്. ഈ സാഹചര്യത്തിൽ മാത്രം ഞങ്ങൾക്ക് സെപ്പറേറ്ററുകൾ ആവശ്യമില്ല, കാരണം വിവരങ്ങൾ സെല്ലുകളായി വിഭജിക്കുന്നതിൽ അവ ഇടപെടും:

* ഡാറ്റാബേസ്_ടേബിളിൽ നിന്ന് "path_and_file_name.xls" ഔട്ട്‌ഫൈലിലേക്ക് തിരഞ്ഞെടുക്കുക;

എന്നിരുന്നാലും, പ്രായോഗികമായി, എല്ലാം ഞാൻ വിവരിച്ചതുപോലെ ലളിതമല്ല. കമാൻഡ് പ്രവർത്തിപ്പിക്കുമ്പോൾ, കയറ്റുമതി പൂർത്തിയാക്കുന്നതിൽ നിന്ന് തടയുന്ന കൺസോളിൽ ഇനിപ്പറയുന്ന പിശക് നിങ്ങൾക്ക് നേരിടാം:

പിശക് 1290 (HY000): MySQL സെർവർ --secure-file-priv ഓപ്ഷൻ ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നു, അതിനാൽ ഇതിന് ഈ പ്രസ്താവന നടപ്പിലാക്കാൻ കഴിയില്ല.

നിങ്ങളുടെ MySQL സെർവർ ഓപ്ഷൻ ഉപയോഗിച്ച് ആരംഭിച്ചതാണ് ഇതിന് കാരണം --secure-file-priv. വ്യക്തിപരമായി, കൺസോളിൽ പ്രവർത്തിക്കാൻ ഞാൻ WAMP OpenServer കിറ്റിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന MySQL വിതരണ കിറ്റ് ഉപയോഗിക്കുന്നു എന്ന വസ്തുത കാരണം ഞാൻ ഈ പ്രശ്നം നേരിട്ടു, ഇത് MySQL സെർവർ ഈ രീതിയിൽ സമാരംഭിക്കുന്നു.

പ്രശ്നം പരിഹരിക്കാൻ രണ്ട് വഴികളുണ്ട്:

ആദ്യത്തെ രീതി എനിക്ക് വളരെ സങ്കീർണ്ണമായി തോന്നി, കാരണം ... തുടർന്നുള്ള എല്ലാ സാഹചര്യങ്ങളിലും ഞാൻ എഴുതിയിട്ടില്ലാത്ത OpenServer കോൺഫിഗറേഷനിലേക്ക് ഞാൻ ആഴ്ന്നിറങ്ങേണ്ടി വരും 🙂 അതിനാൽ, രണ്ടാമത്തെ പാത സ്വീകരിക്കാൻ ഞാൻ തീരുമാനിച്ചു. നിങ്ങൾക്ക് സമാനമായ ഒരു പ്രശ്നം നേരിടുകയാണെങ്കിൽ, എനിക്ക് ശേഷം ആവർത്തിക്കുക.

ആദ്യം നിങ്ങൾ MySQL കമാൻഡ് ലൈനിലേക്ക് പോയി ഇനിപ്പറയുന്ന കമാൻഡുകളിലൊന്ന് പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്:

"secure_file_priv" പോലെയുള്ള വേരിയബിളുകൾ കാണിക്കുക; @@GLOBAL.secure_file_priv തിരഞ്ഞെടുക്കുക;

രണ്ടും പ്രവർത്തിപ്പിക്കുന്നതിന്റെ ഫലം MySQL ഗ്ലോബൽ വേരിയബിളിന്റെ മൂല്യമായിരിക്കും safe_file_priv, MySQL ഡാറ്റ കയറ്റുമതി, ഇറക്കുമതി പ്രവർത്തനങ്ങൾ നടത്താൻ കഴിയുന്ന ഡയറക്‌ടറിയിലേക്കുള്ള പാത ഇതിൽ അടങ്ങിയിരിക്കുന്നു (ഭാവിയിൽ, ഡാറ്റ ഇറക്കുമതിയെക്കുറിച്ചുള്ള ഒരു ലേഖനത്തിലേക്കുള്ള ലിങ്ക്).

ആ. കമാൻഡുകൾ ഉപയോഗിക്കുമ്പോൾ ഡാറ്റ ലോഡ് ചെയ്യുകഒപ്പം തിരഞ്ഞെടുക്കുക... ഔട്ട്‌ഫൈലിലേക്ക്കയറ്റുമതി ചെയ്തതും ഇറക്കുമതി ചെയ്തതുമായ ഫയലുകൾ ഈ ഡയറക്‌ടറിയിൽ മാത്രമേ കണ്ടെത്താൻ കഴിയൂ.

എന്റെ കാര്യത്തിൽ, ഈ വേരിയബിൾ സാധാരണയായി സജ്ജീകരിച്ചിരിക്കുന്നു ശൂന്യം, കാരണം ഞാൻ ഇതിനകം പറഞ്ഞതുപോലെ, കൺസോളിൽ പ്രവർത്തിക്കാൻ OpenServer-ൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന വിതരണത്തിൽ നിന്നുള്ള MySQL യൂട്ടിലിറ്റികൾ ഉപയോഗിക്കുന്നു. ഈ മൂല്യംനിർദ്ദിഷ്ട കമാൻഡുകൾ ഉപയോഗിച്ചുള്ള MySQL ഡാറ്റ കയറ്റുമതി, ഇറക്കുമതി പ്രവർത്തനങ്ങൾ പൂർണ്ണമായും അടച്ചതായി സൂചിപ്പിച്ചു.

പിന്നീട് തെളിഞ്ഞതുപോലെ, ബോക്‌സ് ചെയ്‌ത WAMP, MAMP സെർവറുകൾ ഉപയോഗിക്കുമ്പോൾ ഇത് ഒരു സാധാരണ സാഹചര്യമാണ്.

നിർഭാഗ്യവശാൽ, എന്റെ കാര്യത്തിൽ MySQL ഗ്ലോബൽ വേരിയബിളുകളുടെ മൂല്യങ്ങൾ മാറ്റുന്നതിനുള്ള സാധാരണ രീതികൾ ഉപയോഗിക്കാൻ കഴിഞ്ഞില്ല:

SET variable_name = മൂല്യം;

തൽഫലമായി, കൺസോളിൽ ഇനിപ്പറയുന്ന പിശക് മാത്രമാണ് ഞാൻ കണ്ടത്:

വരി 1-ൽ പിശക് 1238 (HY000): വേരിയബിൾ "secure_file_priv" എന്നത് ഒരു വായന മാത്രം വേരിയബിളാണ്.

തൽഫലമായി, ഒരു വേരിയബിളിന്റെ മൂല്യം മാറ്റാൻ safe_file_privകയറ്റുമതി, ഇറക്കുമതി പ്രവർത്തനങ്ങൾ തുറക്കുക, MySQL വിതരണത്തിന്റെ റൂട്ട് ഡയറക്‌ടറിയിൽ സ്ഥിതിചെയ്യുന്ന MySQL കോൺഫിഗറേഷൻ ഫയലായ mysql.ini-ലേക്ക് എനിക്ക് പോകേണ്ടതുണ്ട്, അല്ലെങ്കിൽ MySQL നിങ്ങളുടെ WAMP/LAMP/ എന്നിവയ്‌ക്കൊപ്പം ഉൾപ്പെടുത്തിയാൽ മറ്റൊരു രീതിയിൽ ആക്‌സസ് ചെയ്യാൻ കഴിയും. MAMP സെർവർ ബിൽഡ്.

വഴിയിൽ, നിങ്ങൾക്ക് ഫയൽ എക്സ്ചേഞ്ച് സ്പൂൾ ഡയറക്ടറിയിലേക്ക് പാത്ത് മാറ്റണമെങ്കിൽ, നിങ്ങൾ അത് ചെയ്യേണ്ടതുണ്ട്.

എന്റെ കാര്യത്തിൽ, ഈ വേരിയബിൾ ഇതിനകം കോൺഫിഗറിൽ നിലവിലുണ്ട്, കമന്റ് ചെയ്ത രൂപത്തിൽ മാത്രം:

Secure-file-priv = "%dprogdir%\\userdata\\temp"

നിങ്ങൾക്കത് ഇല്ലെങ്കിൽ, വിഭാഗത്തിൽ ആദ്യം മുതൽ എഴുതുക (കുറഞ്ഞത് എന്നെ സംബന്ധിച്ചിടത്തോളം അത് അവിടെയാണ് സ്ഥിതിചെയ്യുന്നത്).

ഞാൻ അത് കമന്റ് ചെയ്യാതെ അത് എഴുതിയ രൂപത്തിൽ ഉപയോഗിക്കാൻ തീരുമാനിച്ചു. ആ. MySQL-ൽ നിന്ന് ഡാറ്റ എക്‌സ്‌പോർട്ടുചെയ്യുകയും തിരികെ ഇറക്കുമതി ചെയ്യുകയും ചെയ്യുമ്പോൾ, എന്റെ ഫയലുകൾ ഇപ്പോൾ ഒരു ഡയറക്ടറിയിൽ സംഭരിക്കപ്പെടും c:\openserver\userdata\temp\\.

കോൺഫിഗറേഷൻ (ഏതെങ്കിലും ഒന്ന്, വഴി) മാറ്റിയ ശേഷം, മാറ്റങ്ങൾ പ്രാബല്യത്തിൽ വരുന്നതിന്, സാധ്യമെങ്കിൽ, നിങ്ങളുടെ സെർവർ അല്ലെങ്കിൽ നിങ്ങൾ എഡിറ്റ് ചെയ്ത ഒരു പ്രത്യേക സേവനം പുനരാരംഭിക്കാൻ മറക്കരുത്!

ഉറപ്പാക്കാൻ, MySQL സെർവർ പുനരാരംഭിച്ച ശേഷം, വേരിയബിൾ വീണ്ടും പ്രദർശിപ്പിക്കുക safe_file_privക്ലിപ്പ്ബോർഡിലേക്ക് അതിന്റെ മൂല്യം പകർത്തുക.

ഇപ്പോൾ നമ്മൾ തുടക്കത്തിൽ തന്നെ കമാൻഡ് വിളിക്കേണ്ടതുണ്ട്, MySQL ഡാറ്റാബേസിൽ നിന്നുള്ള വിവരങ്ങൾ സംരക്ഷിക്കപ്പെടുന്ന ഫയലിന്റെ പേരിന് മുമ്പ്, ഞങ്ങൾ മാറ്റുന്ന വേരിയബിളിൽ സംഭരിച്ചിരിക്കുന്ന പാത്ത് ഇനിപ്പറയുന്ന ഫോമിൽ എഴുതുക:

* "secure_file_priv_value\file_name.csv" എന്ന ഡാറ്റാബേസ്_ടേബിളിൽ നിന്ന് ഔട്ട്‌ഫൈലിലേക്ക് തിരഞ്ഞെടുക്കുക;

ഇതിനുശേഷം, MySQL-ൽ നിന്നുള്ള ഡാറ്റ കയറ്റുമതി ചെയ്യുന്നത് എന്റെ കാര്യത്തിൽ പ്രവർത്തിച്ചു.

പ്രധാനപ്പെട്ട പോയിന്റ്! നിങ്ങൾ വിൻഡോസിന് കീഴിൽ MySQL-ൽ പ്രവർത്തിക്കുകയാണെങ്കിൽ, ഫയലിലേക്കുള്ള പാത വ്യക്തമാക്കുമ്പോൾ "\" എന്നത് "/" ആയി മാറ്റാൻ മറക്കരുത്, അല്ലാത്തപക്ഷം പിശക് --secure-file-privഇനിയും പ്രത്യക്ഷപ്പെടുന്നത് തുടരും.

ഒരു MySQL ഡാറ്റാബേസും അതിന്റെ ടേബിളുകളും എങ്ങനെ ഡംപ് ചെയ്യാം എന്നതിനെക്കുറിച്ചുള്ള ലേഖനമാണിത്, അതുപോലെ MySQL പട്ടികകളിൽ നിന്നുള്ള ഔട്ട്‌പുട്ട് ഡാറ്റയും വിവിധ ഫോർമാറ്റുകൾ, അവസാനം വരുന്നു. അഭിപ്രായങ്ങളിൽ നിങ്ങളുടെ അവലോകനങ്ങൾ എഴുതുകയും പ്രായോഗികമായി നിങ്ങൾ മിക്കപ്പോഴും ഉപയോഗിക്കുന്ന നിങ്ങളുടെ സ്ക്രിപ്റ്റ് ഓപ്ഷനുകൾ എല്ലാവരുമായും പങ്കിടുകയും ചെയ്യുക.

നിങ്ങൾക്ക് ലേഖനം ഇഷ്‌ടപ്പെട്ടെങ്കിൽ, ലേഖനം വീണ്ടും പോസ്റ്റുചെയ്യുന്നതിലൂടെ രചയിതാവിന് നന്ദി പറയാം സോഷ്യൽ മീഡിയഅല്ലെങ്കിൽ താഴെയുള്ള ഫോം സാമ്പത്തികമായി ഉപയോഗിക്കുന്നതിലൂടെ നിങ്ങൾക്ക് അടിസ്ഥാന ഹോസ്റ്റിംഗിന് പണം നൽകാം.

എല്ലാവർക്കും ആശംസകൾ നേരുന്നു, വീണ്ടും കാണാം! 🙂

പി.എസ്.: നിങ്ങൾക്ക് ഒരു വെബ്‌സൈറ്റ് ആവശ്യമുണ്ടെങ്കിൽ അല്ലെങ്കിൽ നിലവിലുള്ളതിൽ മാറ്റങ്ങൾ വരുത്തേണ്ടതുണ്ടെങ്കിൽ, എന്നാൽ ഇതിന് സമയമോ ആഗ്രഹമോ ഇല്ലെങ്കിൽ, എനിക്ക് എന്റെ സേവനങ്ങൾ വാഗ്ദാനം ചെയ്യാൻ കഴിയും.

5 വർഷത്തിലേറെ പരിചയംപ്രൊഫഷണൽ വെബ്സൈറ്റ് വികസനം. കൂടെ ജോലി PHP

യൂട്ടിലിറ്റി mysqldump MySQL ഡാറ്റാബേസുകളുടെയും പട്ടികകളുടെയും ബാക്കപ്പ് പകർപ്പുകൾ (പലപ്പോഴും "ഡംപ്സ്" എന്ന് വിളിക്കപ്പെടുന്നു) ബാക്കപ്പ് ചെയ്യുന്നതിനും പുനഃസ്ഥാപിക്കുന്നതിനും സഹായിക്കുന്നു. കമാൻഡ് ലൈനിനായി യൂട്ടിലിറ്റി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു കൂടാതെ പ്രവർത്തിക്കുന്നു ഓപ്പറേറ്റിങ് സിസ്റ്റങ്ങൾവിൻഡോസ്, ഫ്രീബിഎസ്ഡി എന്നിവയും മറ്റു ചിലതും. Mysqldump സൗജന്യമായി വിതരണം ചെയ്യുന്ന സോഫ്റ്റ്‌വെയറാണ്, അത് പണമടയ്ക്കേണ്ടതില്ല.

ISAM, MyISAM ടേബിൾ തരങ്ങൾ ഉപയോഗിച്ച് MySQL ഡാറ്റാബേസുകൾ പ്രാദേശികമായി പകർത്താൻ, Perl-ൽ എഴുതിയ ഒരു യൂട്ടിലിറ്റി ഉപയോഗിക്കുന്നതാണ് നല്ലത്: mysqlhotcopy. ഇത് mysqldump-നേക്കാൾ വളരെ വേഗത്തിൽ പ്രവർത്തിക്കുന്നു, കാരണം ഇത് മുഴുവൻ *.frm, *.myd, *.myi ഡാറ്റാബേസ് ഫയലുകൾ പകർത്തുന്നു, മുമ്പ് പട്ടികകൾ ലോക്ക് ചെയ്തു. കൂടാതെ, mysqlhotcopy ശരിയായി പ്രവർത്തിക്കുന്നതിന്, നിങ്ങൾക്ക് Unix യൂട്ടിലിറ്റികൾ ഉണ്ടായിരിക്കണം: cp അല്ലെങ്കിൽ scp. InnoDB ടൈപ്പ് ടേബിളുകൾക്കായി, mysqlhotcopy പ്രവർത്തിക്കില്ല, കാരണം എല്ലാ InnoDB ടേബിൾ ഫയലുകളും സ്റ്റാൻഡേർഡ് MySQL ഡാറ്റാബേസ് ഡയറക്ടറിയിൽ സംഭരിച്ചിട്ടില്ല.

mysqldump ഉപയോഗിക്കുന്നതിനുള്ള ഉദാഹരണങ്ങൾ

mysqldump ന്റെ അടിസ്ഥാന വാക്യഘടന ഇതാണ്:

mysqldump [ഓപ്‌ഷനുകൾ] ഡാറ്റാബേസ് [പട്ടികകൾ]
mysqldump [ ഓപ്‌ഷനുകൾ] -- ഡാറ്റാബേസുകൾ [ ഓപ്‌ഷനുകൾ] DB1 [ DB2 DB3... ]
mysqldump [ഓപ്‌ഷനുകൾ] -- എല്ലാ ഡാറ്റാബേസുകളും [ഓപ്‌ഷനുകൾ]

പട്ടികയുടെ പേരുകൾ വ്യക്തമാക്കാതെയോ --databases അല്ലെങ്കിൽ --all-databases ഓപ്ഷനുകൾ ഉപയോഗിക്കാതെയോ, MySQL-ൽ സ്ഥിതി ചെയ്യുന്ന എല്ലാ ഡാറ്റാബേസുകളുടെയും ഒരു ഡംപ് ലഭിക്കും.

ഒരു വിദൂര ലൊക്കേഷനിൽ നിന്ന് ഒരു ഡാറ്റാബേസ് ഡംപ് എഴുതുക MySQL സെർവർ dump_db.sql ഫയലിലെ ലോക്കൽ കമ്പ്യൂട്ടറിലേക്ക് 127.0.0.2 എന്ന വിലാസത്തിൽ:

mysqldump - uroot - h127.0.0.2 - p db_name > dump_db.sql

MySQL ഡാറ്റാബേസ് db_name-ലേക്ക് പുനഃസ്ഥാപിക്കുക റിമോട്ട് സെർവർ 127.0.0.2 ൽ സ്ഥിതിചെയ്യുന്ന ഒരു ഡമ്പിൽ നിന്ന് പ്രാദേശിക കമ്പ്യൂട്ടർ, dump_db.sql ഫയലിൽ:

mysql - uroot - h127.0.0.2 - p db_name< dump_db.sql

127.0.0.2-ൽ ഒരു റിമോട്ട് സെർവറിൽ സ്ഥിതി ചെയ്യുന്ന MySQL ഡാറ്റാബേസുകളുടെ (database1, database2, database3) ഒരു ഡമ്പ് എഴുതുക പ്രാദേശിക ഫയൽ dump_db.sql:

mysqldump - uroot - h127.0.0.2 - p - B database1 database2 database3 > dump_db.sql

50 റെക്കോർഡുകളിൽ കൂടുതൽ സാമ്പിൾ എടുക്കരുത് (ഉദാഹരണത്തിന്, പരിശോധനയ്ക്ക് ആവശ്യമില്ല മുഴുവൻ കോപ്പി DB):

MySQL ഡാറ്റാബേസുകൾ ഒരു റിമോട്ട് കമ്പ്യൂട്ടറിലേക്ക് പകർത്തുക:

mysqldump -- ഡാറ്റാബേസ് തിരഞ്ഞെടുക്കുക | mysql -- host= remote- host - C ഡാറ്റാബേസ്

MySQL ഡാറ്റാബേസ് ഘടന മാത്രം പകർത്തുക:

mysqldump - uroot - hh127.0.0.2 - p -- no- data my_dbname > my_db_structure.sql

--opt അല്ലെങ്കിൽ --quick ഓപ്ഷനുകൾ ഇല്ലാതെ ഉപയോഗിക്കുന്ന mysqldump യൂട്ടിലിറ്റി, വിവരങ്ങൾ ലഭ്യമാക്കുന്നതിന് മുമ്പ് അതിന്റെ മുഴുവൻ ഫലവും മെമ്മറിയിലേക്ക് എഴുതും. ഒരു വലിയ ഡാറ്റാബേസ് ഡംപ് ചെയ്യുമ്പോൾ ഇത് പ്രശ്നങ്ങൾ ഉണ്ടാക്കും. ഡംപ് ലഭിക്കുന്നതിന് mysqldump പ്രോഗ്രാമിന്റെ ഒരു പുതിയ പകർപ്പ് ഉപയോഗിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ --opt അല്ലെങ്കിൽ -e ഓപ്ഷനുകൾ ഉപയോഗിക്കേണ്ടതില്ല എന്നതും ശ്രദ്ധിക്കുക, തുടർന്ന് അത് വളരെ പഴയ MySQL സെർവറിൽ പ്ലേ ചെയ്യുക

എല്ലാ പാരാമീറ്ററുകളും mysqldump യൂട്ടിലിറ്റികൾഇത് ഇതുപോലെ പ്രവർത്തിപ്പിച്ച് നിങ്ങൾക്ക് ഇത് കാണാൻ കഴിയും:

mysqldump --സഹായം

mysqldump പരാമീറ്ററുകളുടെ സ്റ്റാൻഡേർഡ് ലിസ്റ്റ് ഹ്രസ്വ വിവരണംതാഴെ പോസ്റ്റ് ചെയ്തു:

--add-drop-database
ഓരോ ക്രിയേറ്റ് ഡാറ്റാബേസ് പ്രസ്താവനയ്ക്കും മുമ്പായി ഡ്രോപ്പ് ഡാറ്റാബേസ് ചേർക്കുന്നു.

--ആഡ്-ഡ്രോപ്പ്-ടേബിൾ
ഓരോ ക്രിയേറ്റ് ടേബിൾ പ്രസ്താവനയ്ക്കും മുമ്പായി ഒരു ഡ്രോപ്പ് ടേബിൾ ചേർക്കുന്നു.

--ആഡ്-ലോക്കുകൾ
എക്‌സിക്യൂഷന് മുമ്പ് ലോക്ക് ടേബിളുകളും ഓരോ ടേബിൾ ഡംപും എക്‌സിക്യൂട്ട് ചെയ്തതിന് ശേഷം അൺലോക്ക് ടേബിളും ചേർക്കുന്നു (MySQL-ലേക്കുള്ള ആക്‌സസ് വേഗത്തിലാക്കാൻ).

--എല്ലാ ഡാറ്റാബേസുകളും, -എ
നിലവിലെ സെർവർ നിയന്ത്രിക്കുന്ന എല്ലാ ഡാറ്റാബേസുകളിൽ നിന്നുമുള്ള എല്ലാ പട്ടികകളും സംരക്ഷിക്കുന്നു.

--അനുവദിക്കുക-കീവേഡുകൾ
കീവേഡുകളുമായി പൊരുത്തപ്പെടുന്ന കോളം പേരുകൾ സൃഷ്ടിക്കാൻ അനുവദിക്കുക. ഓരോ നിരയുടെയും പേരിന്റെ പ്രിഫിക്സായി പട്ടികയുടെ പേര് ചേർത്ത് വൈരുദ്ധ്യങ്ങളുടെ അഭാവം ഉറപ്പാക്കുന്നു.

--അഭിപ്രായങ്ങൾ, -i
mysqldump പതിപ്പ്, MySQL പതിപ്പ്, MySQL സെർവർ സ്ഥിതി ചെയ്യുന്ന ഹോസ്റ്റിന്റെ പേര് എന്നിവ പോലുള്ള അധിക വിവരങ്ങൾ ഡമ്പിലേക്ക് ചേർക്കാൻ ഈ പരാമീറ്റർ നിങ്ങളെ അനുവദിക്കുന്നു.

--കോംപാക്റ്റ്
സാധ്യമായ ഏറ്റവും ഒതുക്കമുള്ള ഫോർമാറ്റ് ഉപയോഗിച്ച് ഒരു ഡംപ് സൃഷ്ടിക്കാൻ ഈ ഓപ്ഷൻ mysqldump-നോട് പറയുന്നു. ഓപ്ഷൻ --comments എന്നതിന് വിപരീതമാണ്.

--compatible=പേര്
മറ്റ് DBMS-കളുമായോ MySQL-ന്റെ പഴയ പതിപ്പുകളുമായോ പൊരുത്തപ്പെടുന്ന ഔട്ട്‌പുട്ട് ഈ ഓപ്ഷൻ ജനറേറ്റുചെയ്യുന്നു. പേരിന്റെ കീവേഡിന് പകരം, നിങ്ങൾക്ക് ഉപയോഗിക്കാം: "ansi", "mysql323", "mysql40", "postgresql", "oracle", "mssql", "db2", "maxdb", "no_key_options", "no_table_options", "no_field_options" . നിങ്ങൾക്ക് കോമകളാൽ വേർതിരിച്ച ഒന്നിലധികം മൂല്യങ്ങൾ ഉപയോഗിക്കാം.

--complete-insert, -c
INSERT സ്റ്റേറ്റ്‌മെന്റിന്റെ പൂർണ്ണരൂപം (കോളം പേരുകളോടെ) ഉപയോഗിക്കുന്നു.

--ക്രിയേറ്റ്-ഓപ്ഷനുകൾ
പട്ടിക പ്രസ്താവനകൾ സൃഷ്‌ടിക്കാൻ അധിക വിവരങ്ങൾ ചേർക്കുന്നു. ഇത് പട്ടികയുടെ തരവും പ്രാരംഭ AUTO_INCREMENT മൂല്യവും മറ്റ് പാരാമീറ്ററുകളും ആകാം.

--ഡാറ്റാബേസുകൾ, -ബി
നിങ്ങൾ ഡംപ് ചെയ്യാൻ ആഗ്രഹിക്കുന്ന ഒന്നിലധികം ഡാറ്റാബേസുകളുടെ പേരുകൾ വ്യക്തമാക്കാൻ ഈ ഓപ്ഷൻ നിങ്ങളെ അനുവദിക്കുന്നു.

--വൈകി
വരികൾ ചേർക്കുമ്പോൾ INSERT DELAYED കമാൻഡ് ഉപയോഗിക്കുക.

--മാസ്റ്റർ-ലോഗുകൾ ഇല്ലാതാക്കുക
mysqldump ഉപയോഗിച്ച് ഒരു ഡംപ് വിജയകരമായി സൃഷ്ടിച്ചതിന് ശേഷം പ്രധാന റെപ്ലിക്കേഷൻ സെർവർ ബൈനറി ലോഗുകൾ (ലോഗ്ബിൻ) സ്വയമേവ ഇല്ലാതാക്കുന്നു. ഈ ഓപ്ഷൻ "--master-data" ഓപ്ഷൻ സ്വയമേവ പ്രാപ്തമാക്കുന്നു.

--ഡിസേബിൾ-കീകൾ, -കെ

ഓരോ ടേബിളിനും, /*!40000 ALTER TABLE tbl_name DisABLE KEYS */ കൂടാതെ /*!40000 ALTER TABLE tbl_name എനേബിൾ കീകൾ */; ഡംപ് ഫലത്തിന്റെ ഔട്ട്പുട്ടിൽ. ഇത് MyISAM പോലുള്ള പട്ടികകൾക്കായി സെർവറിലേക്ക് ഡാറ്റ ലോഡുചെയ്യുന്നത് വേഗത്തിലാക്കും, കാരണം എല്ലാ ഡാറ്റയും നൽകിയതിന് ശേഷം സൂചികകൾ സൃഷ്ടിക്കപ്പെടുന്നു.

--വിപുലീകരിച്ച-ഇൻസേർട്ട്, -ഇ
പുതിയ മൾട്ടിലൈൻ സിന്റാക്സിനൊപ്പം INSERT കമാൻഡ് ഉപയോഗിക്കുക (ഇൻപുട്ട് പ്രസ്താവനകളുടെ ഒതുക്കവും പ്രകടനവും മെച്ചപ്പെടുത്തുന്നു).

--ഫ്ലഷ്-ലോഗുകൾ, -എഫ്
ഡംപ് ആരംഭിക്കുന്നതിന് മുമ്പ് MySQL സെർവർ ബഫറിൽ നിന്ന് സിസ്റ്റം ലോഗ് ഡാറ്റ ഡിസ്കിലേക്ക് എഴുതുക.

--ഫോഴ്‌സ്, -എഫ്
ഡംപ് സൃഷ്‌ടിക്കുന്നതിനിടയിൽ ഒരു പിശക് സംഭവിച്ചാലും തുടരുക.

--ഹെക്സ്-ബ്ലോബ്
ഹെക്സാഡെസിമൽ ഫോർമാറ്റിൽ BINARY, VARBINARY, BLOB, BIT തരങ്ങളുടെ ഫീൽഡുകളിൽ ബൈനറി ഡാറ്റ പ്രതിനിധീകരിക്കാൻ പരാമീറ്റർ നിങ്ങളെ അനുവദിക്കുന്നു. അതിനാൽ "abc" എന്ന ക്രമം 0x616263 ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കും.

--ignore-table=db_name.tbl_name
ഒരു ഡംപ് സൃഷ്ടിക്കുമ്പോൾ db_name ഡാറ്റാബേസിന്റെ tbl_name പട്ടിക അവഗണിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. നിങ്ങൾക്ക് ഡമ്പിൽ നിന്ന് നിരവധി ടേബിളുകൾ ഒഴിവാക്കണമെങ്കിൽ, ഓരോ പാരാമീറ്ററിലും ഒരു ടേബിൾ വ്യക്തമാക്കുന്ന നിരവധി "--ignore-table" പാരാമീറ്ററുകൾ നിങ്ങൾ ഉപയോഗിക്കണം.

--തിരുകുക-അവഗണിക്കുക
INSERT പ്രസ്താവനയിലേക്ക് IGNORE കീവേഡ് ചേർക്കുന്നു.

--lock-all-tables, -x
ഈ ഓപ്‌ഷൻ വ്യക്തമാക്കുന്നത് എല്ലാ ഡാറ്റാബേസുകളിലെയും എല്ലാ ടേബിളുകളും ലോക്ക് ചെയ്യപ്പെടുന്നതിന് കാരണമാകുന്നു, അതേസമയം എല്ലാ ഡാറ്റാബേസുകളുടെയും പൂർണ്ണ ഡംപ് സൃഷ്ടിക്കപ്പെടുന്നു.

--ലോക്ക്-ടേബിളുകൾ, -എൽ
ഈ പരാമീറ്റർ വ്യക്തമാക്കുന്നത് ഡംപ് ചെയ്യുന്ന ഡാറ്റാബേസിലെ പട്ടികകളെ ലോക്ക് ചെയ്യുന്നു.

--നോ-ഓട്ടോകമ്മിറ്റ്
ഒരു ഇടപാടിൽ ഒരേ ടേബിളിൽ എല്ലാ INSERT പ്രസ്താവനകളും ഉൾപ്പെടുന്നു, ഇത് വേഗത്തിൽ ഡാറ്റ ലോഡുചെയ്യുന്നതിന് കാരണമാകുന്നു.

--no-create-db, -n
--databases, --all-databases ഓപ്‌ഷനുകൾ ഉപയോഗിക്കുമ്പോൾ സ്വയമേവ ചേർക്കുന്ന ക്രിയേറ്റ് ഡാറ്റാബേസ് പ്രസ്താവനകളുടെ ഡംപിംഗ് അടിച്ചമർത്തുന്നു.

--നോ-ഡാറ്റ, -ഡി
ഒരു ഡമ്പിൽ INSERT പ്രസ്താവനകൾ സൃഷ്ടിക്കുന്നത് അടിച്ചമർത്തുന്നു, ഇത് ഡാറ്റ ഇല്ലാതെ തന്നെ ഒരു ഡാറ്റാബേസ് ഘടന ഡംപ് ചെയ്യുമ്പോൾ ഉപയോഗപ്രദമാകും.

--ഓപ്റ്റ്
ഡാറ്റ ബാക്കപ്പിന്റെ വേഗത ഒപ്റ്റിമൈസ് ചെയ്യാൻ ഉദ്ദേശിച്ചുള്ളതാണ് പാരാമീറ്റർ, ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ ഉൾപ്പെടുന്ന ഒരു ഷോർട്ട്‌ഹാൻഡാണിത്: --quick --add-drop-table --add-locks --create-options --disable-keys --extended- തിരുകുക --lock-tables --set-charset. MySQL 4.1 മുതൽ, സ്ഥിരസ്ഥിതിയായി --opt ഓപ്ഷൻ ഉപയോഗിക്കുന്നു, അതായത്. മുകളിൽ പറഞ്ഞിരിക്കുന്ന എല്ലാ ഓപ്ഷനുകളും വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽപ്പോലും സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു. ഈ സ്വഭാവം ഒഴിവാക്കുന്നതിന്, നിങ്ങൾ --skip-opt പാരാമീറ്റർ ഉപയോഗിക്കണം

--ഓർഡർ-ബൈ-പ്രൈമറി
ഒരു പരാമീറ്റർ വ്യക്തമാക്കുന്നത് ഇത് സംഭവിക്കുന്നതിന് കാരണമാകുന്നു. ഓരോ പട്ടികയും അതിന്റെ പ്രാഥമിക കീ അല്ലെങ്കിൽ ആദ്യത്തെ അദ്വിതീയ സൂചിക പ്രകാരം അടുക്കിയിരിക്കുന്നു.

--പോർട്ട്, -പി
ഹോസ്റ്റിലേക്ക് കണക്റ്റുചെയ്യാൻ ഉപയോഗിക്കുന്ന TCP പോർട്ട് നമ്പർ.

--പ്രോട്ടോക്കോൾ=(TCP|സോക്കറ്റ്|പൈപ്പ്|മെമ്മറി)
സെർവറിലേക്ക് ബന്ധിപ്പിക്കുന്നതിനുള്ള പ്രോട്ടോക്കോൾ സജ്ജമാക്കാൻ പരാമീറ്റർ നിങ്ങളെ അനുവദിക്കുന്നു.

--വേഗം, -ക്യു
സെർവറിൽ നിന്ന് ഡാറ്റ പൂർണ്ണമായി ഡൗൺലോഡ് ചെയ്യപ്പെടുന്നതുവരെ കാത്തിരിക്കാതെ ഒരു ഡംപ് സൃഷ്ടിക്കുന്നത് ആരംഭിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു, അതുവഴി മെമ്മറി സംരക്ഷിക്കുന്നു.

--ഉദ്ധരണി-പേരുകൾ, -ക്യു
ഡാറ്റാബേസ്, ടേബിൾ, കോളം എന്നിവയുടെ പേരുകൾ ബാക്ക്ടിക്കുകൾക്കൊപ്പം ചേർക്കുന്നു `. MySQL 4.1-ൽ, ഈ ഓപ്ഷൻ സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു.

--പകരം
INSERT പ്രസ്താവനയിലേക്ക് REPLACE കീവേഡ് ചേർക്കുന്നു. ഈ ഓപ്ഷൻ ആദ്യം പ്രത്യക്ഷപ്പെട്ടത് MySQL 5.1.3 ലാണ്.

--result-file=/path/to/file, -r /path/to/file
ഓപ്ഷൻ ഡംപിനെ ഫയലിലേക്ക് നയിക്കുന്നു. കമാൻഡ് ലൈൻ ഉപയോഗിക്കാതെ വിൻഡോസിൽ ഈ ഓപ്ഷൻ പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ്. സീക്വൻസുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഫലം ഒരു ഫയലിലേക്ക് റീഡയറക്‌ട് ചെയ്യാൻ കഴിയുമ്പോൾ > ഒപ്പം >>.

--ക്രമങ്ങൾ, -ആർ
ഈ ഓപ്ഷൻ സംഭരിച്ച നടപടിക്രമങ്ങളുടെയും പ്രവർത്തനങ്ങളുടെയും ഒരു ഡംപ് സൃഷ്ടിക്കുന്നു. MySQL 5.1.2 ഉപയോഗിച്ച് ലഭ്യമാണ്.

--ഒറ്റ ഇടപാട്
ഓപ്ഷൻ ഒരൊറ്റ ഇടപാടായി ഒരു ഡംപ് സൃഷ്ടിക്കുന്നു.

--അഭിപ്രായങ്ങൾ ഒഴിവാക്കുക
ഡമ്പിലേക്കുള്ള അധിക വിവരങ്ങളുടെ ഔട്ട്പുട്ട് അടിച്ചമർത്താൻ ഈ പരാമീറ്റർ നിങ്ങളെ അനുവദിക്കുന്നു.

--socket=/path/to/socket, -S /path/to/socket
ലോക്കൽ ഹോസ്റ്റിലേക്ക് കണക്റ്റുചെയ്യുന്നതിനുള്ള സോക്കറ്റ് ഫയൽ.

--tab=/path/, -T /path/
ഈ ഓപ്‌ഷൻ ഉപയോഗിച്ച് ഓരോ ടേബിളിനും പാത്ത് ഡയറക്‌ടറിയിൽ രണ്ട് വ്യത്യസ്ത ഫയലുകൾ സൃഷ്‌ടിക്കുന്നു: tbl_name.sql, അതിൽ CREATE TABLE സ്റ്റേറ്റ്‌മെന്റ് അടങ്ങിയിരിക്കുന്നു, കൂടാതെ tbl_name.txt, അതിൽ ടാബ്-ഡിലിമിറ്റഡ് ടേബിൾ ഡാറ്റ അടങ്ങിയിരിക്കുന്നു. --fields-xxx, --lines-xxx ഓപ്ഷനുകൾ ഉപയോഗിച്ച് ഡാറ്റ ഫോർമാറ്റ് വ്യക്തമായി അസാധുവാക്കാൻ കഴിയും.

--പട്ടികകൾ
--databases (-B) ഓപ്ഷൻ അസാധുവാക്കുന്നു. ഈ പരാമീറ്റർ പിന്തുടരുന്ന എല്ലാ ആർഗ്യുമെന്റുകളും പട്ടിക നാമങ്ങളായി കണക്കാക്കുന്നു.

--ട്രിഗറുകൾ
ഒരു ട്രിഗർ ഡംപ് സൃഷ്ടിച്ചു. ഈ ഓപ്ഷൻ സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു. ഇത് പ്രവർത്തനരഹിതമാക്കുന്നതിന്, --skip-triggers ഓപ്ഷൻ ഉപയോഗിക്കുക.

--tz-utc
ഈ പരാമീറ്റർ ഉപയോഗിക്കുമ്പോൾ, SET TIME_ZONE="+00:00" പോലെയുള്ള ഒരു ഓപ്പറേറ്റർ ഡമ്പിലേക്ക് ചേർക്കും, ഇത് വ്യത്യസ്ത സമയ മേഖലകളിൽ ഡംപുകൾ കൈമാറ്റം ചെയ്യാൻ അനുവദിക്കും.

--വെർബോസ്, -വി
വിപുലമായ ഔട്ട്പുട്ട് മോഡ്. പ്രോഗ്രാമിന്റെ പ്രവർത്തനത്തെക്കുറിച്ചുള്ള കൂടുതൽ വിശദമായ വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നു.

--പതിപ്പ്, -വി
പ്രോഗ്രാം പതിപ്പിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ പ്രദർശിപ്പിക്കുക.

--എവിടെ="എവിടെ-അവസ്ഥ", -w "എവിടെ-കണ്ടീഷൻ"
തിരഞ്ഞെടുത്ത റെക്കോർഡുകൾ മാത്രം ഉപേക്ഷിക്കുക. ഉദ്ധരണികൾ ആവശ്യമാണെന്ന കാര്യം ശ്രദ്ധിക്കുക: "--where=user="test"" "-wuserid>1" "-wuserid

--xml, -X
XML ആയി ഒരു ഡാറ്റാബേസ് ഡമ്പിനെ പ്രതിനിധീകരിക്കുന്നു.

--ആദ്യ അടിമ, -x
എല്ലാ ഡാറ്റാബേസുകളിലും എല്ലാ പട്ടികകളും ലോക്ക് ചെയ്യുന്നു.

--ഡീബഗ്=..., -#
ഒരു പ്രോഗ്രാമിന്റെ പുരോഗതി നിരീക്ഷിക്കുക (ഡീബഗ്ഗിംഗിനായി).

--സഹായം
സഹായം പ്രദർശിപ്പിക്കുകയും പ്രോഗ്രാം അവസാനിക്കുകയും ചെയ്യുന്നു.

Mysqldump - ഡോക്യുമെന്റേഷനും ഉദാഹരണങ്ങളും.