എല്ലാ MySQL ഡാറ്റാബേസുകളും പഴയതിൽ നിന്ന് പുതിയ സെർവറിലേക്ക് എങ്ങനെ കൈമാറാം


സെർവറുകൾക്കിടയിൽ MySQL/MariaDB ഡാറ്റാബേസ് കൈമാറുന്നതിനോ മൈഗ്രേറ്റുചെയ്യുന്നതിനോ സാധാരണയായി കുറച്ച് ലളിതമായ ഘട്ടങ്ങൾ മാത്രമേ എടുക്കൂ, എന്നാൽ നിങ്ങൾ കൈമാറാൻ ആഗ്രഹിക്കുന്ന ഡാറ്റയുടെ അളവ് അനുസരിച്ച് ഡാറ്റ കൈമാറ്റം കുറച്ച് സമയമെടുക്കും.

ഈ ലേഖനത്തിൽ, നിങ്ങളുടെ എല്ലാ MySQL/MariaDB ഡാറ്റാബേസുകളും പഴയ ലിനക്സ് സെർവറിൽ നിന്ന് ഒരു പുതിയ സെർവറിലേക്ക് എങ്ങനെ ട്രാൻസ്ഫർ ചെയ്യാമെന്നും മൈഗ്രേറ്റ് ചെയ്യാമെന്നും നിങ്ങൾ പഠിക്കും, അത് വിജയകരമായി ഇറക്കുമതി ചെയ്യുകയും ഡാറ്റ അവിടെയുണ്ടെന്ന് സ്ഥിരീകരിക്കുകയും ചെയ്യും.

  • ഒരേ വിതരണമുള്ള രണ്ട് സെർവറുകളിലും MySQL-ന്റെ ഒരേ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.
  • ഡാറ്റാബേസ് ഡംപ് ഫയലും ഇറക്കുമതി ചെയ്ത ഡാറ്റാബേസും ഹോൾഡ് ചെയ്യാൻ രണ്ട് സെർവറിലും മതിയായ ഇടം ഉണ്ടെന്ന് ഉറപ്പാക്കുക.
  • ഡാറ്റാബേസിന്റെ data ഡയറക്uടറി മറ്റൊരു സെർവറിലേക്ക് മാറ്റുന്നത് ഒരിക്കലും പരിഗണിക്കരുത്. ഡാറ്റാബേസിന്റെ ആന്തരിക ഘടനയിൽ ഒരിക്കലും കുഴപ്പമുണ്ടാക്കരുത്, അങ്ങനെ ചെയ്താൽ, ഭാവിയിൽ നിങ്ങൾക്ക് പ്രശ്നങ്ങൾ നേരിടേണ്ടിവരും.

ഫയലുകൾ ഡംപ് ചെയ്യാൻ MySQL ഡാറ്റാബേസുകൾ കയറ്റുമതി ചെയ്യുക

ആദ്യം നിങ്ങളുടെ പഴയ സെർവറിലേക്ക് ലോഗിൻ ചെയ്ത് ആരംഭിക്കുക, കാണിച്ചിരിക്കുന്നതുപോലെ systemctl കമാൻഡ് ഉപയോഗിച്ച് mysql/mariadb സേവനം നിർത്തുക.

# systemctl stop mariadb
OR
# systemctl stop mysql

തുടർന്ന് mysqldump കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങളുടെ എല്ലാ MySQL ഡാറ്റാബേസുകളും ഒരൊറ്റ ഫയലിലേക്ക് ഡംപ് ചെയ്യുക.

# mysqldump -u [user] -p --all-databases > all_databases.sql

ഡംപ് പൂർത്തിയായിക്കഴിഞ്ഞാൽ, നിങ്ങൾ ഡാറ്റാബേസുകൾ കൈമാറാൻ തയ്യാറാണ്.

നിങ്ങൾക്ക് ഒരൊറ്റ ഡാറ്റാബേസ് ഉപേക്ഷിക്കണമെങ്കിൽ, നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാം:

# mysqldump -u root -p --opt [database name] > database_name.sql

MySQL ഡാറ്റാബേസുകളുടെ ഡംപ് ഫയൽ പുതിയ സെർവറിലേക്ക് മാറ്റുക

ഇപ്പോൾ നിങ്ങളുടെ ഡാറ്റാബേസ് ഡംപ് ഫയൽ ഹോം ഡയറക്ടറിക്ക് കീഴിലുള്ള പുതിയ സെർവറിലേക്ക് മാറ്റാൻ scp കമാൻഡ് ഉപയോഗിക്കുക.

# scp all_databases.sql [email :~/       [All Databases]
# scp database_name.sql [email :~/       [Singe Database]

നിങ്ങൾ കണക്റ്റുചെയ്uതുകഴിഞ്ഞാൽ, ഡാറ്റാബേസ് പുതിയ സെർവറിലേക്ക് മാറ്റും.

MySQL ഡാറ്റാബേസുകൾ ഡംപ് ഫയൽ പുതിയ സെർവറിലേക്ക് ഇറക്കുമതി ചെയ്യുക

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

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

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

# mysql -u user -p
# show databases;

MySQL ഡാറ്റാബേസുകളും ഉപയോക്താക്കളും പുതിയ സെർവറിലേക്ക് മാറ്റുക

നിങ്ങളുടെ എല്ലാ MySQL ഡാറ്റാബേസുകൾ, ഉപയോക്താക്കൾ, അനുമതികൾ, ഡാറ്റാ ഘടന പഴയ സെർവർ എന്നിവ പുതിയതിലേക്ക് നീക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, കാണിച്ചിരിക്കുന്നതുപോലെ mysql/mariadb ഡാറ്റ ഡയറക്ടറിയിൽ നിന്ന് എല്ലാ ഉള്ളടക്കവും പുതിയ സെർവറിലേക്ക് പകർത്താൻ നിങ്ങൾക്ക് rsync കമാൻഡ് ഉപയോഗിക്കാം.

# rsync -avz /var/lib/mysql/* [email :/var/lib/mysql/ 

കൈമാറ്റം പൂർത്തിയായിക്കഴിഞ്ഞാൽ, നിങ്ങൾക്ക് mysql/mariadb ഡാറ്റ ഡയറക്uടറിയുടെ ഉടമസ്ഥാവകാശം ഉപയോക്താവിനും mysql ഗ്രൂപ്പിനും സജ്ജമാക്കാം, തുടർന്ന് എല്ലാ ഫയലുകളും കൈമാറ്റം ചെയ്uതിട്ടുണ്ടോയെന്ന് പരിശോധിക്കാൻ ഒരു ഡയറക്uടറി ലിസ്uറ്റിംഗ് നടത്തുക.

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

അത്രയേയുള്ളൂ! ഈ ലേഖനത്തിൽ, എല്ലാ MySQL/MariaDB ഡാറ്റാബേസുകളും ഒരു സെർവറിൽ നിന്ന് മറ്റൊന്നിലേക്ക് എങ്ങനെ എളുപ്പത്തിൽ മൈഗ്രേറ്റ് ചെയ്യാമെന്ന് നിങ്ങൾ പഠിച്ചു. മറ്റ് രീതികളുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ഈ രീതി എങ്ങനെ കണ്ടെത്താം? ഞങ്ങളിൽ എത്തിച്ചേരുന്നതിന് ചുവടെയുള്ള അഭിപ്രായ ഫോം വഴി നിങ്ങളിൽ നിന്ന് കേൾക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു.