ലിനക്സിൽ MySQL/MariaDB ഡാറ്റാബേസുകൾ എങ്ങനെ ബാക്കപ്പ് ചെയ്ത് പുനഃസ്ഥാപിക്കാം


MySQL/MariaDB ഡാറ്റാബേസുകളുടെ വിവിധ ബാക്കപ്പ് പ്രവർത്തനങ്ങൾ mysqldump കമാൻഡ് ഉപയോഗിച്ച് എങ്ങനെ നടത്താം എന്നതിനെക്കുറിച്ചുള്ള നിരവധി പ്രായോഗിക ഉദാഹരണങ്ങൾ ഈ ലേഖനം നിങ്ങൾക്ക് കാണിച്ചുതരുന്നു, കൂടാതെ Linux-ൽ mysql, mysqlimport കമാൻഡ് എന്നിവയുടെ സഹായത്തോടെ അവ എങ്ങനെ പുനഃസ്ഥാപിക്കാമെന്ന് ഞങ്ങൾ കാണും.

mysqldump ഒരു കമാൻഡ്-ലൈൻ ക്ലയന്റ് പ്രോഗ്രാമാണ്, ഇത് ലോക്കൽ അല്ലെങ്കിൽ റിമോട്ട് MySQL ഡാറ്റാബേസുകളോ ഡാറ്റാബേസുകളുടെ ശേഖരണമോ ബാക്കപ്പിനായി ഒരൊറ്റ ഫ്ലാറ്റ് ഫയലിലേക്ക് ഡംപ് ചെയ്യാൻ ഉപയോഗിക്കുന്നു.

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

നിങ്ങൾ MySQL ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിലോ MySQL-ലേക്ക് എക്സ്പോഷർ ഇല്ലെങ്കിലോ, ചുവടെയുള്ള ഞങ്ങളുടെ ലേഖനങ്ങൾ വായിക്കുക.

  • RHEL അടിസ്ഥാനമാക്കിയുള്ള വിതരണങ്ങളിൽ MySQL എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • Rocky Linux, AlmaLinux എന്നിവയിൽ MySQL എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • ഉബുണ്ടു ലിനക്സിൽ MySQL എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • Debian-ൽ MySQL എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • ലിനക്സിലെ ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേഷനുള്ള 20 MySQL (Mysqladmin) കമാൻഡുകൾ
  • Linux-നുള്ള 12 MySQL/MariaDB സുരക്ഷാ മികച്ച രീതികൾ

ലിനക്സിൽ MySQL ഡാറ്റാബേസ് എങ്ങനെ ബാക്കപ്പ് ചെയ്യാം?

MySQL ഡാറ്റാബേസുകളുടെയോ ഡാറ്റാബേസുകളുടെയോ ബാക്കപ്പ് എടുക്കുന്നതിന്, ഡാറ്റാബേസ് ഡാറ്റാബേസ് സെർവറിൽ നിലനിൽക്കുകയും നിങ്ങൾക്ക് അതിലേക്ക് ആക്സസ് ഉണ്ടായിരിക്കുകയും വേണം. കമാൻഡിന്റെ ഫോർമാറ്റ് ആയിരിക്കും.

# mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]

പ്രസ്തുത കമാൻഡിന്റെ പാരാമീറ്ററുകൾ താഴെ പറയുന്നവയാണ്.

  • [ഉപയോക്തൃനാമം] : ഒരു സാധുവായ MySQL ഉപയോക്തൃനാമം.
  • [പാസ്uവേഡ്] : ഉപയോക്താവിനുള്ള സാധുവായ MySQL പാസ്uവേഡ്.
  • [database_name] : നിങ്ങൾ ബാക്കപ്പ് എടുക്കാൻ ആഗ്രഹിക്കുന്ന ഒരു സാധുവായ ഡാറ്റാബേസ് പേര്.
  • [dump_file.sql]: നിങ്ങൾ സൃഷ്ടിക്കാൻ ആഗ്രഹിക്കുന്ന ബാക്കപ്പ് ഡംപ് ഫയലിന്റെ പേര്.

ഒരൊറ്റ ഡാറ്റാബേസിന്റെ ബാക്കപ്പ് എടുക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക. കമാൻഡ് ഡാറ്റാബേസ് [rsyslog] ഘടനയെ ഡാറ്റയോടൊപ്പം rsyslog.sql എന്ന ഒരൊറ്റ ഡംപ് ഫയലിലേക്ക് ഡംപ് ചെയ്യും.

# mysqldump -u root -ptecmint rsyslog > rsyslog.sql

നിങ്ങൾക്ക് ഒന്നിലധികം ഡാറ്റാബേസുകളുടെ ബാക്കപ്പ് എടുക്കണമെങ്കിൽ, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. ഇനിപ്പറയുന്ന ഉദാഹരണ കമാൻഡ് ഡാറ്റാബേസുകളുടെ ഒരു ബാക്കപ്പ് [rsyslog, syslog] ഘടനയും ഡാറ്റയും rsyslog_syslog.sql എന്ന ഒരൊറ്റ ഫയലിലേക്ക് എടുക്കുന്നു.

# mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql

നിങ്ങൾക്ക് എല്ലാ ഡാറ്റാബേസുകളുടെയും ബാക്കപ്പ് എടുക്കണമെങ്കിൽ, -all-database ഓപ്ഷൻ ഉപയോഗിച്ച് ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക. ഇനിപ്പറയുന്ന കമാൻഡ് എല്ലാ ഡാറ്റാബേസുകളുടെയും ബാക്കപ്പ് അവയുടെ ഘടനയും ഡാറ്റയും ഉപയോഗിച്ച് all-databases.sql എന്ന ഫയലിലേക്ക് എടുക്കുന്നു.

# mysqldump -u root -ptecmint --all-databases > all-databases.sql

നിങ്ങൾക്ക് ഡാറ്റയില്ലാതെ ഡാറ്റാബേസ് ഘടനയുടെ ബാക്കപ്പ് മാത്രമേ ആവശ്യമുള്ളൂവെങ്കിൽ, കമാൻഡിലെ -no-data ഓപ്ഷൻ ഉപയോഗിക്കുക. ചുവടെയുള്ള കമാൻഡ് ഡാറ്റാബേസ് [rsyslog] ഘടനയെ rsyslog_structure.sql ഫയലിലേക്ക് കയറ്റുമതി ചെയ്യുന്നു.

# mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql

ഡാറ്റാബേസ് ഘടനയില്ലാത്ത ഡാറ്റ ബാക്കപ്പ് ചെയ്യാൻ, കമാൻഡ് ഉപയോഗിച്ച് –no-create-info ഓപ്ഷൻ ഉപയോഗിക്കുക. ഈ കമാൻഡ് ഡാറ്റാബേസ് [rsyslog] ഡാറ്റയെ ഒരു ഫയലിലേക്ക് rsyslog_data.sql എടുക്കുന്നു.

# mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql

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

# mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql

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

# mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql

താഴെയുള്ള കമാൻഡ് റിമോട്ട് സെർവറിന്റെ [172.16.25.126] ഡാറ്റാബേസിന്റെ [ഗാലറി] ബാക്കപ്പ് ഒരു ലോക്കൽ സെർവറിലേക്ക് എടുക്കുന്നു.

# mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql

MySQL ഡാറ്റാബേസ് എങ്ങനെ പുനഃസ്ഥാപിക്കാം?

മുകളിലുള്ള ട്യൂട്ടോറിയലിൽ, ഡാറ്റാബേസുകൾ, ടേബിളുകൾ, ഘടനകൾ, ഡാറ്റ എന്നിവയുടെ ബാക്കപ്പ് എങ്ങനെ എടുക്കാമെന്ന് ഞങ്ങൾ കണ്ടു, ഇപ്പോൾ ഇനിപ്പറയുന്ന ഫോർമാറ്റ് ഉപയോഗിച്ച് അവ എങ്ങനെ പുനഃസ്ഥാപിക്കാമെന്ന് നോക്കാം.

# # mysql -u [username] –p[password] [database_name] < [dump_file.sql]

ഒരു ഡാറ്റാബേസ് പുനഃസ്ഥാപിക്കുന്നതിന്, നിങ്ങൾ ടാർഗെറ്റ് മെഷീനിൽ ഒരു ശൂന്യമായ ഡാറ്റാബേസ് സൃഷ്ടിക്കുകയും msyql കമാൻഡ് ഉപയോഗിച്ച് ഡാറ്റാബേസ് പുനഃസ്ഥാപിക്കുകയും വേണം. ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന കമാൻഡ് rsyslog.sql ഫയൽ rsyslog ഡാറ്റാബേസിലേക്ക് പുനഃസ്ഥാപിക്കും.

# mysql -u root -ptecmint rsyslog < rsyslog.sql

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

# mysqlimport -u root -ptecmint rsyslog < rsyslog.sql

അതുപോലെ, നിങ്ങൾക്ക് ഡാറ്റാബേസ് പട്ടികകൾ, ഘടനകൾ, ഡാറ്റ എന്നിവ പുനഃസ്ഥാപിക്കാനാകും. നിങ്ങൾക്ക് ഈ ലേഖനം ഇഷ്ടപ്പെട്ടെങ്കിൽ, അത് നിങ്ങളുടെ സുഹൃത്തുക്കളുമായി പങ്കിടുക.