ഒരു ടേബിൾ മാത്രം നിറയ്ക്കാൻ ഒരു ഡമ്പിൽ നിന്ന് Mysql. mysqldump യൂട്ടിലിറ്റി ഉപയോഗിച്ച് ഞങ്ങൾ ഡാറ്റാബേസിൻ്റെ ഒരു ഡംപ് (ബാക്കപ്പ്) ഉണ്ടാക്കുന്നു. ഡാറ്റ ഇല്ലാതെ ഒരു ഡാറ്റാബേസ് ഘടന സൃഷ്ടിക്കുന്നു

സൃഷ്ടിക്കുന്നതിനോ വിന്യസിക്കുന്നതിനോ ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന കമാൻഡുകൾ ഈ പോസ്റ്റിൽ അടങ്ങിയിരിക്കുന്നു ബാക്കപ്പ് പകർപ്പുകൾഅടിസ്ഥാനങ്ങൾ 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_en.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 — ഡമ്പിൽ ഇൻസേർട്ട് സ്റ്റേറ്റ്‌മെൻ്റുകൾ സൃഷ്ടിക്കുന്നത് അടിച്ചമർത്തുന്നു, ഇത് ഡാറ്റ ഇല്ലാതെ തന്നെ ഒരു ഡാറ്റാബേസ് ഘടന ഡംപ് ചെയ്യുമ്പോൾ ഉപയോഗപ്രദമാകും.
  • —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-ൽ നിന്ന് ഡാറ്റ അപ്‌ലോഡ് ചെയ്യുന്നതിനെക്കുറിച്ചും സംസാരിക്കും. എക്സൽ ഫയൽകൂടാതെ 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 ലഭ്യമാണെന്ന് ഇതിനർത്ഥമില്ല ഓഫീസ് എക്സൽ, തുറക്കില്ല. അതേ ഓപ്പൺ ഓഫീസ് വിപരീതം സ്ഥിരീകരിക്കുന്നു.

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

വിഭാഗങ്ങൾ:

ഇൻസ്റ്റലേഷൻ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 ഡാറ്റാബേസും അത് വെബ് ഹോസ്റ്റിംഗിലേക്ക് മാറ്റാനുള്ള ചുമതലയും ഉണ്ട്. ചക്രം പുനർനിർമ്മിക്കാതിരിക്കാൻ, ഞങ്ങൾ വ്യാപകമായി ഉപയോഗിക്കുന്ന phpMyAdmin യൂട്ടിലിറ്റി ഉപയോഗിക്കും, ഇത് ഒരു ചട്ടം പോലെ, നിങ്ങളുടെ ദാതാവ് എല്ലായ്പ്പോഴും ഇൻസ്റ്റാൾ ചെയ്യുന്നു, ഇത് ഡെൻവറിലും ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. അവസാനം, യൂട്ടിലിറ്റി സൗജന്യവും ഔദ്യോഗിക വെബ്സൈറ്റിൽ ഡൗൺലോഡ് ചെയ്യാൻ ലഭ്യമാണ്. ഇത് ഒരു വെബ് സെർവറിൽ പ്രവർത്തിക്കുകയും അതിൽ എഴുതുകയും ചെയ്യുന്നു php ഭാഷ, ഇത് ബ്രൗസറിൽ നേരിട്ട് ഉപയോഗിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ആ. ഇവിടെ പ്രശ്നങ്ങളൊന്നും ഉണ്ടാകരുത്, അവ ഉണ്ടായാൽ, അഭിപ്രായങ്ങളിൽ എഴുതുക, ഞങ്ങൾ അത് പരിഹരിക്കും.

നമുക്ക് ഒരു ഡാറ്റാബേസ് ഡംപ് സൃഷ്ടിക്കാൻ തുടങ്ങാം. phpMyAdmin തുറക്കുക, നമുക്ക് ആവശ്യമുള്ള ഡാറ്റാബേസ് തിരഞ്ഞെടുത്ത് "ടാബിൽ" ക്ലിക്ക് ചെയ്യുക കയറ്റുമതി". ഫലമായി നിങ്ങൾക്ക് ഇതുപോലൊന്ന് ലഭിക്കണം:

ഇവിടെ നിങ്ങൾ എല്ലാ ടേബിളുകളും (അല്ലെങ്കിൽ നിങ്ങൾ മാറ്റങ്ങൾ തിരികെ കൊണ്ടുവരേണ്ടവ) തിരഞ്ഞെടുത്ത് റേഡിയോ ബട്ടൺ ഇടേണ്ടതുണ്ട് SQL മൂല്യം. ഘടനാ വിഭാഗത്തിൽ, "ഡ്രോപ്പ് ടേബിൾ / കാഴ്ച / നടപടിക്രമം / ഫംഗ്ഷൻ / ഇവൻ്റ് ചേർക്കുക" എന്ന ആദ്യ ഫീൽഡ് നിങ്ങൾക്ക് അടയാളപ്പെടുത്താൻ കഴിയും, അങ്ങനെ ഡംപ് ഇറക്കുമതി ചെയ്യുന്നതിന് മുമ്പ്, ലക്ഷ്യസ്ഥാന ഡാറ്റാബേസിലെ അനുബന്ധ പട്ടികകൾ ഇല്ലാതാക്കപ്പെടും; ഇത് ആദ്യമായി കൈമാറ്റം ചെയ്യപ്പെടുകയാണെങ്കിൽ, ചെക്ക്ബോക്സ് ചെക്ക് ചെയ്യാതെ വിടാം. ചുവടെയുള്ള അതേ വിൻഡോയിൽ നമ്മൾ "ഫയൽ ആയി സംരക്ഷിക്കുക" വിഭാഗം കാണുന്നു:

യഥാർത്ഥത്തിൽ, "ഫയൽ ആയി സംരക്ഷിക്കുക" എന്ന് അടയാളപ്പെടുത്തി ആവശ്യമുള്ള ഫയലിൻ്റെ പേര് എഴുതുക. ഒരു ഡാറ്റാബേസ് ഡംപ് ആർക്കൈവ് ചെയ്യാവുന്നതാണ്, പക്ഷേ ഫയൽ കംപ്രസ്സുചെയ്യുന്നത് മൂല്യവത്തായതാക്കുന്നതിന് ഇത് സാധാരണയായി പര്യാപ്തമല്ല. "GO" ബട്ടണിൽ ക്ലിക്ക് ചെയ്ത് ബ്രൗസറിൽ ഒരു സാധാരണ ഫയൽ സേവിംഗ് വിൻഡോ നേടുക:
. സംരക്ഷിച്ച ഫയൽ ഡാറ്റാബേസ് ഡംപ് ആണ്. അതേ നോട്ട്പാഡിൽ തുറന്നാൽ ഒരു വരിയുടെ തുടക്കത്തിൽ കാണാം

PhpMyAdmin SQL ഡമ്പ്
-- പതിപ്പ് 3.2.3
-- http://www.phpmyadmin.net

ഫയലിൽ തന്നെ എഴുതിയിരിക്കുന്ന ഒരു പട്ടികയിൽ മൂല്യങ്ങൾ സൃഷ്ടിക്കുന്നതിനും തിരുകുന്നതിനുമുള്ള അന്വേഷണങ്ങൾ അടങ്ങിയിരിക്കുന്നു SQL ഭാഷ. ഇവിടെ തികച്ചും ഷാമനിസം ഇല്ല, എല്ലാം വളരെ വ്യക്തമാണ്. ഇനി അടുത്ത പണി ഡംപ് ഇറക്കുമതി ചെയ്യുകയാണ്. അവളുമായി സങ്കീർണ്ണമായ ഒന്നും തന്നെയില്ല. നിങ്ങളുടെ ഹോസ്റ്റിംഗ് നിയന്ത്രണ പാനലിലേക്ക് പോകുക, അവിടെ phpMyAdmin കണ്ടെത്തി അത് സമാരംഭിക്കുക. ഹോസ്റ്റർ ക്രമീകരണങ്ങൾ അനുസരിച്ച് നിങ്ങൾ ഒരു ലോഗിൻ/പാസ്‌വേഡ് വ്യക്തമാക്കേണ്ടി വന്നേക്കാം. ശരി, തുടർന്ന് പ്രവർത്തനങ്ങൾ സമാനമാണ് - ആവശ്യമുള്ള ഡാറ്റാബേസ് തിരഞ്ഞെടുക്കുക, "ഇറക്കുമതി" ടാബിൽ ക്ലിക്കുചെയ്യുക, ഞങ്ങൾ ഇനിപ്പറയുന്ന വിൻഡോ കാണുന്നു:

"ഇറക്കുമതി ചെയ്യാനുള്ള ഫയൽ" വിഭാഗത്തിൽ, "ബ്രൗസ്" ബട്ടൺ ഉപയോഗിച്ച്, ഡാറ്റാബേസ് ഡംപ് ഫയൽ വ്യക്തമാക്കുക, ചുവടെ ഞങ്ങൾ എൻകോഡിംഗ് നൽകുക - ജൂംലയിൽ, സ്ഥിരസ്ഥിതിയായി ഇത് utf-8 ആണ്. "ഭാഗിക ഇറക്കുമതി" വിഭാഗവും "നക്ഷത്രത്തിൽ നിന്ന് ഒഴിവാക്കാനുള്ള റെക്കോർഡുകളുടെ എണ്ണം (ചോദനകൾ)" ഫീൽഡും ചുവടെയുണ്ട്, അവിടെ നിങ്ങൾക്ക് പ്രവേശിക്കാനാകും സംഖ്യാ മൂല്യം- സ്ക്രിപ്റ്റിൻ്റെ ജീവിതത്തിൽ മുഴുവൻ ഡാറ്റാബേസും ഇറക്കുമതി ചെയ്യാൻ സമയമില്ലെങ്കിൽ, ഒരു പാസ്സിൽ പ്രോസസ്സ് ചെയ്ത വരികളുടെ എണ്ണം. ഒരു സ്ക്രിപ്റ്റ് റണ്ണിൽ മുഴുവൻ ഡാറ്റാബേസും ഇറക്കുമതി ചെയ്യുന്നതുമായി സ്ഥിരസ്ഥിതി മൂല്യം "0" യോജിക്കുന്നു. എൻ്റെ പ്രയോഗത്തിൽ, ഒരു പാസ് പൂരിപ്പിക്കാൻ അടിസ്ഥാനത്തിന് സമയമില്ല എന്ന വസ്തുത എനിക്ക് ഒരിക്കലും കൈകാര്യം ചെയ്യേണ്ടിവന്നിട്ടില്ല, എന്നിരുന്നാലും അത്തരം കേസുകൾ സംഭവിക്കുന്നില്ലെന്ന് ഇതിനർത്ഥമില്ല. ശേഷിക്കുന്ന ഫീൽഡുകളുടെ മൂല്യങ്ങൾ മാറ്റേണ്ടതില്ല, "GO" ബട്ടൺ അമർത്തുക. അത്രയേയുള്ളൂ, ഡാറ്റാബേസ് ഡംപ് ഇറക്കുമതി ചെയ്തു.

അവസാനമായി, കുറച്ച് വ്യക്തതകൾ.

1) മുഴുവൻ ഡാറ്റാബേസും അല്ല, എല്ലാ പട്ടികകളും ഇറക്കുമതി ചെയ്യുന്ന/കയറ്റുമതി ചെയ്യുന്ന രീതി ഞാൻ വിവരിച്ചത് എന്തുകൊണ്ട്? ഒരു വെബ് സെർവറിൽ നിന്ന് ഒരു ലോക്കൽ മെഷീനിലേക്കും തിരിച്ചും ഡാറ്റ കൈമാറ്റം ചെയ്യുമ്പോൾ മിക്കപ്പോഴും നിങ്ങൾ ഇറക്കുമതി / കയറ്റുമതി നടപടിക്രമങ്ങൾ കൈകാര്യം ചെയ്യേണ്ടതുണ്ട് എന്നതാണ് വസ്തുത. എന്നാൽ മിക്കപ്പോഴും ലോക്കൽ മെഷീനിൽ ആക്സസ് ഉപയോഗിക്കുന്നു അക്കൗണ്ട്പാസ്‌വേഡ് ഇല്ലാതെ "റൂട്ട്". ഹോസ്റ്റിംഗ് ഉപയോഗിച്ച് ഞങ്ങൾക്ക് ഇത് താങ്ങാൻ കഴിയില്ല. ഡാറ്റാബേസിൽ ഡാറ്റ മാത്രമല്ല, "പ്രിവിലേജുകളും" - അത് ആക്സസ് ചെയ്യാനുള്ള അവകാശങ്ങളും അടങ്ങിയിരിക്കുന്നു ചില ഉപയോക്താക്കൾ. ഓരോ തവണയും ഉപയോക്താക്കളെ സൃഷ്‌ടിക്കുകയോ ഇല്ലാതാക്കുകയോ ചെയ്യാതിരിക്കാനും അവർക്ക് ആക്‌സസ് അവകാശങ്ങൾ നൽകാനും, ഡാറ്റാബേസ് ഡമ്പിൽ പട്ടിക ഘടനയും അതിലെ ഡാറ്റയും മാത്രം രേഖപ്പെടുത്തുന്ന ഒരു സമീപനം ഉപയോഗിക്കുന്നു. നിങ്ങൾ ഒരേ സെർവറിനായി ഒരു ബാക്കപ്പ് സൃഷ്‌ടിക്കുകയാണെങ്കിൽ, മുഴുവൻ ഡാറ്റാബേസിൻ്റെയും ഒരു ഡംപ് ഉണ്ടാക്കുന്നത് തികച്ചും സാദ്ധ്യമാണ്.

2) എന്തുകൊണ്ട് phpMyAdmin? ഇവിടെയുള്ള കാര്യം അതിന് ബദലുകളില്ല എന്നല്ല - അവയിൽ ധാരാളം ഉണ്ട്, കൂടുതൽ പ്രവർത്തനപരമായ കാര്യങ്ങളും ലളിതവുമാണ്. phpMyAdmin ലോഗിൻ ചെയ്താൽ മതി സ്റ്റാൻഡേർഡ് സെറ്റ്മിക്ക പങ്കിട്ട ഹോസ്റ്റിംഗ് സേവനങ്ങൾക്കും, അതായത്. ഇത് ഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങൾ ഒന്നും ചെയ്യേണ്ടതില്ല. ആ. ഞങ്ങൾ അത് തുറന്ന് ഡാറ്റാബേസ് ഇടുന്നു. തീർച്ചയായും, phpMyAdmin ഉപയോഗിക്കുന്നത് നിരവധി ജോലികൾക്ക് ഉപയോഗപ്രദമാകും - ചോദ്യങ്ങൾ പരിശോധിക്കൽ, പട്ടികകളുടെ ഘടനയും അവയിലെ ഡാറ്റയും കാണുക.

ശരി, ഈ ലേഖനത്തിൽ ഞാൻ നിങ്ങളോട് പറയാൻ ആഗ്രഹിച്ചത് അതാണ്. അഭിപ്രായങ്ങൾ എല്ലായ്പ്പോഴും എന്നപോലെ സ്വാഗതം ചെയ്യുന്നു.