Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

'Automysqlbackup' और 'Autopostgresqlbackup' टूल्स का उपयोग करके MySQL/MariaDB और PostgreSQL का बैकअप/पुनर्स्थापित कैसे करें

यदि आप एक डेटाबेस व्यवस्थापक हैं (DBA ) या डेटाबेस को बनाए रखने, बैक अप लेने और पुनर्स्थापित करने के लिए ज़िम्मेदार हैं, तो आप जानते हैं कि आप डेटा खोने का जोखिम नहीं उठा सकते हैं। कारण सरल है:डेटा खोने का मतलब न केवल महत्वपूर्ण जानकारी का नुकसान है, बल्कि आपके व्यवसाय को आर्थिक रूप से नुकसान भी पहुंचा सकता है।

इस कारण से, आपको हमेशा यह सुनिश्चित करना चाहिए कि:

1. आपके डेटाबेस का समय-समय पर बैकअप लिया जाता है,
2. उन बैकअप को सुरक्षित स्थान पर संग्रहीत किया जाता है, और
3. आप नियमित रूप से बहाली अभ्यास करते हैं।

इस अंतिम गतिविधि को नज़रअंदाज़ नहीं किया जाना चाहिए, क्योंकि आप ऐसी स्थिति में क्या करने की आवश्यकता का अभ्यास किए बिना एक बड़ी समस्या में भागना नहीं चाहते हैं।

इस ट्यूटोरियल में हम आपको MySQL . का बैकअप लेने के लिए दो अच्छी उपयोगिताओं से परिचित कराएंगे / मारियाडीबी और PostgreSQL डेटाबेस, क्रमशः:automysqlbackup और autopostgresqlbackup .

चूंकि बाद वाला पहले वाले पर आधारित है, इसलिए हम अपनी व्याख्या automysqlbackup . पर केंद्रित करेंगे और autopgsqlbackup . के साथ मतभेदों को हाइलाइट करें , यदि कोई हो तो।

बैकअप निर्देशिका में माउंट किए गए नेटवर्क शेयर में बैकअप को संग्रहीत करने की दृढ़ता से अनुशंसा की जाती है ताकि सिस्टम-व्यापी क्रैश की स्थिति में, आप अभी भी कवर किए जाएंगे।

MySQL पर निम्नलिखित उपयोगी मार्गदर्शिकाएँ पढ़ें:

MySQL बेसिक डेटाबेस एडमिनिस्ट्रेशन डेटाबेस एडमिनिस्ट्रेशन के लिए MySQL बैकअप और रिस्टोर कमांड को कमांड करता हैphpMyBackupPro - एक वेब आधारित MySQL बैकअप टूलMySQLDumper:एक PHP और पर्ल आधारित MySQL डेटाबेस बैकअप टूल15 डेटाबेस एडमिनिस्ट्रेटर के लिए बेसिक MySQL इंटरव्यू प्रश्न

MySQL / MariaDB / PostgreSQL डेटाबेस स्थापित करना

1. यह मार्गदर्शिका मानती है कि आपके पास MySQL . होना चाहिए / मारियाडीबी / पोस्टग्रेएसक्यूएल उदाहरण चल रहा है, यदि नहीं, तो कृपया निम्नलिखित पैकेज स्थापित करें:

फेडोरा-आधारित वितरण:

# yum update && yum install mariadb mariadb-server mariadb-libs postgresql postgresql-server postgresql-libs

डेबियन और डेरिवेटिव:

# aptitude update && aptitude install mariadb-client mariadb-server mariadb-common postgresql-client postgresql postgresql-common

2. आपके पास एक परीक्षण है MySQL / मारियाडीबी / पोस्टग्रेएसक्यूएल डेटाबेस जिसका आप उपयोग कर सकते हैं (आपको सलाह दी जाती है कि नहीं या तो automysqlbackup . का उपयोग करें या autopostgresqlbackup उत्पादन के माहौल में जब तक आप इन उपकरणों से परिचित नहीं हो जाते)।

अन्यथा, दो नमूना डेटाबेस बनाएं और आगे बढ़ने से पहले उन्हें डेटा से भर दें। इस लेख में मैं निम्नलिखित डेटाबेस और तालिकाओं का उपयोग करूंगा:

MySQL/MariaDB
CREATE DATABASE mariadb_db;
CREATE TABLE tecmint_tbl (UserID INT AUTO_INCREMENT PRIMARY KEY, 
UserName VARCHAR(50), 
IsActive BOOL);
PostgreSQL
CREATE DATABASE postgresql_db;
CREATE TABLE tecmint_tbl (
UserID SERIAL PRIMARY KEY,
UserName VARCHAR(50),
IsActive BOOLEAN);

CentOS 7 और Debian 8 में automysqlbackup और autopgsqlbackup इंस्टॉल करना

3. डेबियन 8 . में , दोनों उपकरण रिपॉजिटरी में उपलब्ध हैं, इसलिए उन्हें स्थापित करना चलाने जितना आसान है:

# aptitude install automysqlbackup autopostgresqlbackup

जबकि CentOS 7 . में आपको इंस्टॉलेशन स्क्रिप्ट डाउनलोड करने और उन्हें चलाने की आवश्यकता होगी। नीचे दिए गए अनुभागों में हम विशेष रूप से CentOS 7 पर इन उपकरणों को स्थापित करने, कॉन्फ़िगर करने और परीक्षण करने पर ध्यान केंद्रित करेंगे। चूंकि डेबियन 8 . के लिए - जहां वे लगभग लीक से हटकर काम करते हैं, हम इस लेख में बाद में आवश्यक स्पष्टीकरण देंगे।

CentOS 7 में automysqlbackup इंस्टॉल और कॉन्फ़िगर करना

4. आइए /opt . के अंदर एक कार्यशील निर्देशिका बनाकर शुरू करें स्थापना स्क्रिप्ट डाउनलोड करने और उसे चलाने के लिए:

# mkdir /opt/automysqlbackup
# cd /opt/automysqlbackup
# wget http://ufpr.dl.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v3.0_rc6.tar.gz
# tar zxf automysqlbackup-v3.0_rc6.tar.gz
# ./install.sh

.

5. automysqlbackup . के लिए कॉन्फ़िगरेशन फ़ाइल /etc/automysqlbackup . के अंदर स्थित है myserver.conf . नाम के तहत . आइए सबसे प्रासंगिक कॉन्फ़िगरेशन निर्देशों पर एक नज़र डालें:

myserver.conf - Automysqlbackup कॉन्फ़िगर करें
# Username to access the MySQL server
CONFIG_mysql_dump_username='root'
# Password
CONFIG_mysql_dump_password='YourPasswordHere'
# Host name (or IP address) of MySQL server
CONFIG_mysql_dump_host='localhost'
# Backup directory
CONFIG_backup_dir='/var/backup/db/automysqlbackup'
# List of databases for Daily/Weekly Backup e.g. ( 'DB1' 'DB2' 'DB3' ... )
# set to (), i.e. empty, if you want to backup all databases
CONFIG_db_names=(AddYourDatabase Names Here)
# List of databases for Monthly Backups.
# set to (), i.e. empty, if you want to backup all databases
CONFIG_db_month_names=(AddYourDatabase Names Here)
# Which day do you want monthly backups? (01 to 31)
# If the chosen day is greater than the last day of the month, it will be done
# on the last day of the month.
# Set to 0 to disable monthly backups.
CONFIG_do_monthly="01"
# Which day do you want weekly backups? (1 to 7 where 1 is Monday)
# Set to 0 to disable weekly backups.
CONFIG_do_weekly="5"
# Set rotation of daily backups. VALUE*24hours
# If you want to keep only today's backups, you could choose 1, i.e. everything older than 24hours will be removed.
CONFIG_rotation_daily=6
# Set rotation for weekly backups. VALUE*24hours. A value of 35 means 5 weeks.
CONFIG_rotation_weekly=35
# Set rotation for monthly backups. VALUE*24hours. A value of 150 means 5 months.
CONFIG_rotation_monthly=150
# Include CREATE DATABASE statement in backup?
CONFIG_mysql_dump_create_database='no'
# Separate backup directory and file for each DB? (yes or no)
CONFIG_mysql_dump_use_separate_dirs='yes'
# Choose Compression type. (gzip or bzip2)
CONFIG_mysql_dump_compression='gzip'
# What would you like to be mailed to you?
# - log   : send only log file
# - files : send log file and sql files as attachments (see docs)
# - stdout : will simply output the log to the screen if run manually.
# - quiet : Only send logs if an error occurs to the MAILADDR.
CONFIG_mailcontent='quiet'
# Email Address to send mail to? ([email protected])
CONFIG_mail_address='root'
# Do you wish to encrypt your backups using openssl?
#CONFIG_encrypt='no'
# Choose a password to encrypt the backups.
#CONFIG_encrypt_password='password0123'
# Command to run before backups (uncomment to use)
#CONFIG_prebackup="/etc/mysql-backup-pre"
# Command run after backups (uncomment to use)
#CONFIG_postbackup="/etc/mysql-backup-post"

एक बार जब आप automysqlbackup कॉन्फ़िगर कर लेते हैं अपनी आवश्यकताओं के अनुसार, आपको सलाह दी जाती है कि README . देखें फ़ाइल /etc/automysqlbackup/README . में मिली ।

MySQL डेटाबेस बैकअप

6. जब आप तैयार हों, तो आगे बढ़ें और कॉन्फ़िगरेशन फ़ाइल को तर्क के रूप में पास करते हुए प्रोग्राम चलाएँ:

# automysqlbackup /etc/automysqlbackup/myserver.conf

दैनिक . का त्वरित निरीक्षण निर्देशिका दिखाएगा कि automysqlbackup सफलतापूर्वक चला है:

# pwd
# ls -lR daily

बेशक आप automysqlbackup . चलाने के लिए एक crontab प्रविष्टि जोड़ सकते हैं दिन के ऐसे समय में जो आपकी आवश्यकताओं के लिए सबसे उपयुक्त हो (1:30 नीचे दिए गए उदाहरण में हर दिन हूँ):

30 01 * * * /usr/local/bin/automysqlbackup /etc/automysqlbackup/myserver.conf

एक MySQL बैकअप को पुनर्स्थापित करना

7. अब mariadb_db . को छोड़ दें उद्देश्य पर डेटाबेस:

आइए इसे फिर से बनाएं और बैकअप को पुनर्स्थापित करें। मारियाडीबी प्रांप्ट में, टाइप करें:

CREATE DATABASE mariadb_db;
exit

फिर पता लगाएं:

# cd /var/backup/db/automysqlbackup/daily/mariadb_db
# ls

और बैकअप पुनर्स्थापित करें:

# mysql -u root -p mariadb_db < daily_mariadb_db_2015-09-01_23h19m_Tuesday.sql
# mysql -u root -p
MariaDB [(none)]> USE mariadb_db; 
MariaDB [(none)]> SELECT * FROM tecmint_tb1;

CentOS 7 में autopostgresqlbackup इंस्टॉल और कॉन्फ़िगर करना

8. autopostgresql . के क्रम में CentOS 7 . में त्रुटिपूर्ण ढंग से काम करने के लिए , हमें पहले कुछ निर्भरताएँ स्थापित करनी होंगी:

# yum install mutt sendmail

तो चलिए पहले की तरह इस प्रक्रिया को दोहराते हैं:

# mkdir /opt/autopostgresqlbackup
# cd /opt/autopostgresqlbackup
# wget http://ufpr.dl.sourceforge.net/project/autopgsqlbackup/AutoPostgreSQLBackup/AutoPostgreSQLBackup-1.0/autopostgresqlbackup.sh.1.0
# mv autopostgresqlbackup.sh.1.0 /opt/autopostgresqlbackup/autopostgresqlbackup.sh

आइए स्क्रिप्ट को निष्पादन योग्य बनाएं और शुरू करें / सक्षम करें सेवा:

# chmod 755 autopostgresqlbackup.sh
# systemctl start postgresql
# systemctl enable postgresql

अंत में, हम बैकअप निर्देशिका सेटिंग के मान को इसमें संपादित करेंगे:

autopostgresqlbackup.sh - Autopostgresqlbackup कॉन्फ़िगर करें
BACKUPDIR="/var/backup/db/autopostgresqlbackup"

automysqlbackup . की कॉन्फ़िगरेशन फ़ाइल के माध्यम से होने के बाद , इस टूल को कॉन्फ़िगर करना बहुत आसान है (कार्य का वह भाग आप पर छोड़ दिया गया है)।

9. CentOS 7 . में , डेबियन 8 . के विपरीत , ऑटोपोस्टग्रेस्क्लबैकअप पोस्टग्रेज . के रूप में सबसे अच्छा चलाया जाता है सिस्टम उपयोगकर्ता, इसलिए ऐसा करने के लिए आपको या तो उस खाते पर स्विच करना चाहिए या क्रॉन्टाब फ़ाइल में क्रॉन जॉब जोड़ना चाहिए:

# crontab -u postgres -e
30 01 * * * /opt/autopostgresqlbackup/autopostgresqlbackup.sh

वैसे, बैकअप निर्देशिका बनाने की आवश्यकता है और इसकी अनुमतियाँ और समूह स्वामित्व को पुनरावर्ती रूप से 0770 पर सेट किया जाना चाहिए और पोस्टग्रेज (फिर से, डेबियन . में यह आवश्यक नहीं होगा ):

# mkdir /var/backup/db/autopostgresqlbackup
# chmod -R 0770 /var/backup/db/autopostgresqlbackup
# chgrp -R postgres /var/backup/db/autopostgresqlbackup

परिणाम:

# cd /var/backup/db/autopostgresqlbackup
# pwd
# ls -lR daily

10. अब आप जरूरत पड़ने पर फ़ाइलों को पुनर्स्थापित कर सकते हैं (याद रखें कि ऐसा करना याद रखें क्योंकि उपयोगकर्ता खाली डेटाबेस को फिर से बनाने के बाद पोस्टग्रेज करता है):

# gunzip -c postgresql_db_2015-09-02.Wednesday.sql.gz | psql postgresql_db

डेबियन 8 में विचार

जैसा कि हमने पहले बताया, न केवल डेबियन . में इन उपकरणों की स्थापना अधिक सीधा है, लेकिन उनके संबंधित विन्यास भी। आपको कॉन्फ़िगरेशन फ़ाइलें इसमें मिलेंगी:

  1. Automysqlbackup :/etc/default/automysqlbackup
  2. ऑटोपोस्टग्रेस्क्लबैकअप :/etc/default/autopostgresqlbackup

सारांश

इस लेख में हमने बताया है कि कैसे automysqlbackup . को स्थापित और उपयोग करना है और autopostgresqlbackup (पहले का उपयोग करना सीखना आपको दूसरे को भी मास्टर करने में मदद करेगा), दो महान डेटाबेस बैक अप टूल जो आपके कार्यों को डीबीए या सिस्टम एडमिनिस्ट्रेटर/इंजीनियर के रूप में बहुत आसान बना सकते हैं।

कृपया ध्यान दें कि आप ईमेल सूचनाएं . सेट करके इस विषय पर विस्तार कर सकते हैं या बैकअप फ़ाइलों को ईमेल के माध्यम से अटैचमेंट के रूप में भेजना - कड़ाई से आवश्यक नहीं है, लेकिन कभी-कभी काम आ सकता है।

अंतिम नोट के रूप में, याद रखें कि कॉन्फ़िगरेशन फ़ाइलों की अनुमतियां न्यूनतम पर सेट होनी चाहिए (0600 अधिकतर परिस्थितियों में)। हम यह जानने के लिए उत्सुक हैं कि आप इस लेख के बारे में क्या सोचते हैं। नीचे दिए गए फ़ॉर्म का उपयोग करके बेझिझक हमें एक नोट दें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विंडोज 10 पर MySQL कैसे स्थापित करें? - MySQL इंस्टाल करने के लिए आपका वन स्टॉप सॉल्यूशन

  2. MySQL ISNULL () समझाया गया

  3. Neo4j क्वेरी भाषा - साइफर

  4. MySQL त्रुटि 1045 (28000):उपयोगकर्ता 'बिल' @ 'लोकलहोस्ट' के लिए प्रवेश निषेध (पासवर्ड का उपयोग करके:हाँ)

  5. MySQL IFNULL () समझाया गया