എന്താണ് MySQL? MySQL എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നത്?


Facebook, Google, Adobe, Alcatel Lucent, Zappos എന്നിവയിലും നിരവധി ഓൺലൈൻ വെബ്uസൈറ്റുകൾ/ആപ്ലിക്കേഷനുകളിലും ഉപയോഗിക്കുന്ന ലോകത്തിലെ ഏറ്റവും ജനപ്രിയമായ എന്റർപ്രൈസ്-ഗ്രേഡ് ഓപ്പൺ സോഴ്uസ് റിലേഷണൽ ഡാറ്റാബേസ് മാനേജ്uമെന്റ് സിസ്റ്റം (RDBMS) ആണ് MySQL.

ഇത് വികസിപ്പിച്ചതും വിതരണം ചെയ്യുന്നതും പിന്തുണയ്ക്കുന്നതും ഒറാക്കിൾ കോർപ്പറേഷനാണ്. ഡാറ്റാബേസുകൾ സൃഷ്ടിക്കാനും കൈകാര്യം ചെയ്യാനും ഉപയോഗിക്കുന്ന SQL (സ്ട്രക്ചേർഡ് ക്വറി ലാംഗ്വേജ്) സ്റ്റാൻഡേർഡ് ഭാഷയെ അടിസ്ഥാനമാക്കിയുള്ള ഒരു ക്രോസ്-പ്ലാറ്റ്ഫോം, ശക്തമായ, ഫ്ലെക്സിബിൾ, എക്സ്റ്റൻസിബിൾ റിലേഷണൽ ഡാറ്റാബേസ് ആണ് ഇത്.

MySQL-ന്റെ ഏറ്റവും പുതിയ പതിപ്പ് (എഴുതുന്ന സമയത്ത് പതിപ്പ് 8.0) NoSQL (\SQL മാത്രമല്ല) ഡോക്യുമെന്റ് ഡാറ്റാബേസുകളുടെ പിന്തുണയോടെയാണ് വരുന്നത്. ഇത് Linux, macOS, മറ്റ് UNIX പോലുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലും വിൻഡോസിലും ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും.

  • MySQL കമ്മ്യൂണിറ്റി പതിപ്പ് ഡൗൺലോഡ് ചെയ്യുക
  • MySQL എന്റർപ്രൈസ് പതിപ്പ് ഡൗൺലോഡ് ചെയ്യുക

MySQL ഡാറ്റാബേസ് സോഫ്റ്റ്uവെയർ ഓപ്പൺ സോഴ്uസാണ്, അത് GPL (GNU General Public License) ഉപയോഗിക്കുന്നു. പ്രധാനമായി, ഇത് രണ്ട് വ്യത്യസ്ത പതിപ്പുകളിലാണ് വാഗ്ദാനം ചെയ്യുന്നത്: നിങ്ങൾക്ക് ഡൗൺലോഡ് ചെയ്യാനും സോഴ്uസ് കോഡ് ആക്uസസ് ചെയ്യാനും സൗജന്യമായി ഉപയോഗിക്കാനും കഴിയുന്ന ഓപ്പൺ സോഴ്uസ് MySQL കമ്മ്യൂണിറ്റി സെർവർ, കൂടാതെ വാർഷിക സബ്uസ്uക്രിപ്uഷൻ ആവശ്യമുള്ളതും പ്രൊഫഷണൽ പിന്തുണയും ഉൾപ്പെടുന്ന പ്രൊപ്രൈറ്ററി MySQL എന്റർപ്രൈസ് എഡിഷനും മറ്റ് വാണിജ്യ ഉൽപ്പന്നങ്ങളും. മറ്റ് പല ആനുകൂല്യങ്ങളും.

വെബ് ഡാറ്റാബേസ് (ഏറ്റവും സാധാരണമായ ഉപയോഗം), ഡാറ്റ വെയർഹൗസിംഗ്, ഇ-കൊമേഴ്uസ്, ലോഗിംഗ് ആപ്ലിക്കേഷനുകൾ എന്നിവയുൾപ്പെടെ വിപുലമായ ആവശ്യങ്ങൾക്കായി MySQL ഉപയോഗിക്കുന്നു. വെബ് ഡെവലപ്uമെന്റിനും വേർഡ്പ്രസ്സ് പോലുള്ള ഓൺലൈൻ ഉള്ളടക്ക മാനേജ്uമെന്റ് സിസ്റ്റങ്ങൾ ഹോസ്റ്റുചെയ്യുന്നതിനും ഉപയോഗിക്കുന്ന ഒരു LAMP (Linux + Apache + MySQL + PHP) അല്ലെങ്കിൽ LEMP (Linux + Engine-X + MySQL + PHP) സ്റ്റാക്ക് സജ്ജീകരിക്കുന്നതിന് സാധാരണയായി ഇൻസ്റ്റാൾ ചെയ്ത സോഫ്റ്റ്uവെയറുകളിൽ ഒന്നാണിത്. മാഗ്നെറ്റോ, ജൂംല, ദ്രുപാൽ, കൂടാതെ മറ്റു പലതും. PHP കൂടാതെ, ഇത് Perl, Node.js, Python തുടങ്ങി നിരവധി ഭാഷകളെയും പിന്തുണയ്ക്കുന്നു.

Linux-ലെ MySQL ഡാറ്റാബേസ് ഉപയോഗിച്ച് നിങ്ങളുടെ ആപ്ലിക്കേഷൻ സജ്ജീകരിക്കുന്നതിന് ഈ അനുബന്ധ ഗൈഡുകൾ പരിശോധിക്കുക.

  • CentOS 8-ൽ LAMP സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • CentOS 8-ൽ LEMP സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • ഉബുണ്ടു 20.04-ൽ PhpMyAdmin ഉപയോഗിച്ച് LAMP സ്റ്റാക്ക് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • ഉബുണ്ടു 20.04-ൽ PhpMyAdmin ഉപയോഗിച്ച് LEMP സ്റ്റാക്ക് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • ഉബുണ്ടു 20.04-ൽ അപ്പാച്ചെ ഉപയോഗിച്ച് വേർഡ്പ്രസ്സ് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം

MySQL എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നത്?

അവിടെയുള്ള മിക്ക ഡാറ്റാബേസ് മാനേജുമെന്റ് സിസ്റ്റങ്ങളെയും പോലെ, MySQL-ന് ഒരു ക്ലയന്റ്-സെർവർ ആർക്കിടെക്ചർ ഉണ്ട്, അത് ഒരു നെറ്റ്uവർക്ക് പരിതസ്ഥിതിയിൽ ഉപയോഗിക്കാനും കഴിയും. ഡാറ്റാബേസ് ഫയലുകൾ സംഭരിച്ചിരിക്കുന്ന അതേ ഫിസിക്കൽ അല്ലെങ്കിൽ വെർച്വൽ സിസ്റ്റത്തിലാണ് സെർവർ പ്രോഗ്രാം സ്ഥിതിചെയ്യുന്നത്, കൂടാതെ ഡാറ്റാബേസുകളുമായുള്ള എല്ലാ ഇടപെടലുകൾക്കും ഇത് ഉത്തരവാദിയാണ്.

ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേഷനായുള്ള MySQL ടൂളുകൾ അല്ലെങ്കിൽ മറ്റ് പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ എഴുതിയിട്ടുള്ള ഏതെങ്കിലും ആപ്ലിക്കേഷനുകൾ പോലെയുള്ള വിവിധ ക്ലയന്റ് പ്രോഗ്രാമുകൾക്ക് സെർവറിലേക്ക് കണക്റ്റുചെയ്യാനും ഡാറ്റാബേസ് അഭ്യർത്ഥനകൾ നടത്താനും കഴിയും. സെർവർ ക്ലയന്റ് അഭ്യർത്ഥനകൾ പ്രോസസ്സ് ചെയ്യുകയും ഫലങ്ങൾ ക്ലയന്റിലേക്ക് തിരികെ നൽകുകയും ചെയ്യുന്നു.

ഒരു ക്ലയന്റിന് സെർവറിന്റെ അതേ സിസ്റ്റത്തിലോ റിമോട്ട് ഹോസ്റ്റിലോ താമസിക്കുകയും സെർവറിലേക്ക് ഒരു നെറ്റ്uവർക്ക് അല്ലെങ്കിൽ ഇന്റർനെറ്റ് കണക്ഷൻ വഴി ഡാറ്റാബേസ് അഭ്യർത്ഥനകൾ അയയ്ക്കുകയും ചെയ്യാം. പ്രധാനമായി, MySQL സെർവർ ക്ലയന്റുകൾക്ക് കണക്റ്റുചെയ്യാൻ പ്രവർത്തിക്കണം.

MySQL-ന്റെ പ്രധാന സവിശേഷതകൾ

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

  • MySQL ഇൻഡക്സ് കംപ്രഷൻ ഉള്ള വളരെ വേഗതയുള്ള ബി-ട്രീ ടേബിളുകൾ ഉപയോഗിക്കുന്നു, വളരെ വേഗതയുള്ള ത്രെഡ് അധിഷ്ഠിത മെമ്മറി അലോക്കേഷൻ സിസ്റ്റം, ഒപ്റ്റിമൈസ് ചെയ്ത നെസ്റ്റഡ്-ലൂപ്പ് ജോയിൻ ഉപയോഗിച്ച് വളരെ വേഗത്തിൽ ജോയിൻ ചെയ്യുന്നു.
  • ഇത് സൈൻഡ്/സൈൻ ചെയ്യാത്ത പൂർണ്ണസംഖ്യകൾ, ഫ്ലോട്ടിംഗ്-പോയിന്റ് തരങ്ങൾ (ഫ്ലോട്ട് ആൻഡ് ഡബിൾ), ചാർ, വാർച്ചാർ, ബൈനറി, വാർബിനറി, ബ്ലോബ് ആൻഡ് ടെക്uസ്uറ്റ്, തീയതി, തീയതി സമയം, ടൈംസ്റ്റാമ്പ്, വർഷം, സെറ്റ്, എനം, എന്നിങ്ങനെ നിരവധി ഡാറ്റാ തരങ്ങളെ പിന്തുണയ്ക്കുന്നു. കൂടാതെ OpenGIS സ്പേഷ്യൽ തരങ്ങളും.
  • MySQL, മാസ്റ്റർ-സ്ലേവ് റെപ്ലിക്കേഷൻ, മൾട്ടി-നോഡ് ക്ലസ്റ്ററിംഗ്, ബാക്കപ്പ്, റിക്കവറി/റിസ്റ്റോർ എന്നിവ വഴി ഡാറ്റ റിഡൻഡൻസി, ഉയർന്ന ലഭ്യത (HA) എന്നിവയും പിന്തുണയ്ക്കുന്നു. നിങ്ങളുടെ വിന്യാസത്തിനുള്ള ആവശ്യകതകൾക്ക് ഏറ്റവും അനുയോജ്യമായ രീതികൾ തിരഞ്ഞെടുക്കാൻ കഴിയുന്ന വിപുലമായ ബാക്കപ്പ് തരങ്ങളും തന്ത്രങ്ങളും ഇത് വാഗ്ദാനം ചെയ്യുന്നു.
  • അതിന്റെ സുരക്ഷാ സവിശേഷതകളിൽ, സുരക്ഷ നടപ്പിലാക്കുന്ന ഉപയോക്തൃ അക്കൗണ്ട് മാനേജ്uമെന്റും ആക്uസസ് നിയന്ത്രണവും, ഹോസ്റ്റ് അധിഷ്uഠിത പരിശോധന, എൻക്രിപ്റ്റ് ചെയ്uത കണക്ഷനുകൾ, നിരവധി ഘടകങ്ങളും പ്ലഗിനുകളും (ആധികാരികത പ്ലഗിനുകൾ, കണക്ഷൻ-നിയന്ത്രണ പ്ലഗിനുകൾ, പാസ്uവേഡ് മൂല്യനിർണ്ണയ ഘടകം എന്നിവയും മറ്റു പലതും) ഉൾപ്പെടുന്നു. സെർവർ നടത്തുന്ന ക്രിപ്uറ്റോഗ്രാഫിക് പ്രവർത്തനങ്ങൾക്ക് ബാധകമായ സെർവർ സൈഡിലുള്ള FIPS (ഫെഡറൽ ഇൻഫർമേഷൻ പ്രോസസ്സിംഗ് സ്റ്റാൻഡേർഡ്uസ് 140-2 (FIPS 140-2)) മോഡ്.

കൂടാതെ, Linux-നുള്ള MySQL/MariaDB സുരക്ഷാ മികച്ച രീതികൾ പിന്തുടർന്ന് നിങ്ങൾക്ക് അധിക സുരക്ഷ ഉറപ്പാക്കാനും കഴിയും. എന്നാൽ എല്ലായ്uപ്പോഴും എന്നപോലെ, ഓൾ റൗണ്ട് ഡാറ്റാബേസ് സെർവർ സുരക്ഷ ഉറപ്പാക്കാൻ, നിങ്ങൾ നല്ല നെറ്റ്uവർക്കും സെർവർ സുരക്ഷയും നടപ്പിലാക്കിയിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

MySQL ക്ലയന്റും ടൂളുകളും

MySQL, ജനപ്രിയ കമാൻഡ്-ലൈൻ യൂട്ടിലിറ്റികൾ പോലെയുള്ള നിരവധി ക്ലയന്റ് പ്രോഗ്രാമുകൾ ഉപയോഗിച്ച് അയയ്ക്കുന്നു: mysql, mysqldump, ഡാറ്റാബേസുകൾ കൈകാര്യം ചെയ്യുന്നതിനായി. MySQL സെർവറിലേക്ക് കണക്റ്റുചെയ്യുന്നതിന്, ക്ലയന്റുകൾക്ക് നിരവധി പ്രോട്ടോക്കോളുകൾ ഉപയോഗിക്കാം, ഉദാഹരണത്തിന്, ഏത് പ്ലാറ്റ്uഫോമിലും TCP/IP സോക്കറ്റുകൾ അല്ലെങ്കിൽ Linux പോലുള്ള UNIX സിസ്റ്റങ്ങളിൽ UNIX ഡൊമെയ്ൻ സോക്കറ്റുകൾ.

മറ്റൊരു ഭാഷയിൽ നിന്നോ പരിതസ്ഥിതിയിൽ നിന്നോ MySQL പ്രസ്താവനകൾ ബന്ധിപ്പിക്കുന്നതിനും നടപ്പിലാക്കുന്നതിനും, സ്റ്റാൻഡേർഡ് അടിസ്ഥാനമാക്കിയുള്ള MySQL കണക്ടറുകളും (ക്ലയന്റ് ആപ്ലിക്കേഷനുകൾക്കായി MySQL സെർവറിലേക്ക് കണക്റ്റിവിറ്റി നൽകുന്ന), ഏറ്റവും ജനപ്രിയമായ പ്രോഗ്രാമിംഗ് ഭാഷകൾക്കുള്ള API കളും (MySQL ഉറവിടങ്ങളിലേക്ക് താഴ്ന്ന നിലയിലുള്ള ആക്സസ് നൽകുന്നതിന്) ഉണ്ട്. ഒന്നുകിൽ ക്ലാസിക് MySQL പ്രോട്ടോക്കോൾ അല്ലെങ്കിൽ X പ്രോട്ടോക്കോൾ).

ODBC (ഓപ്പൺ ഡാറ്റാബേസ് കണക്റ്റിവിറ്റി), Java (JDBC - Java ഡാറ്റാബേസ് കണക്റ്റിവിറ്റി), Python, PHP, Node.js, C++, Perl, Ruby, നേറ്റീവ് C, എംബഡഡ് MySQL ഇൻസ്uറ്റൻസുകൾ എന്നിവ ചില ജനപ്രിയ കണക്റ്ററുകളും API-കളും ഉൾപ്പെടുന്നു.

MySQL-നെക്കുറിച്ചുള്ള ഇനിപ്പറയുന്ന ലേഖനങ്ങൾ നിങ്ങൾക്ക് ഉപയോഗപ്രദമാകും:

  • ഡെബിയൻ 10-ൽ ഏറ്റവും പുതിയ MySQL 8 എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • 15 ഉപയോഗപ്രദമായ MySQL/MariaDB പ്രകടന ട്യൂണിംഗും ഒപ്റ്റിമൈസേഷൻ നുറുങ്ങുകളും
  • MySQL-ലെ സാധാരണ പിശകുകൾ പരിഹരിക്കുന്നതിനുള്ള ഉപയോഗപ്രദമായ നുറുങ്ങുകൾ
  • MySQL 8.0-ൽ റൂട്ട് പാസ്uവേഡ് എങ്ങനെ പുനഃസജ്ജമാക്കാം
  • Linux-ൽ Default MySQL/MariaDB പോർട്ട് എങ്ങനെ മാറ്റാം
  • Linux-ൽ MySQL പ്രകടനം നിരീക്ഷിക്കുന്നതിനുള്ള 4 ഉപയോഗപ്രദമായ കമാൻഡ് ലൈൻ ടൂളുകൾ