انڈروئد

mysqldump کے ساتھ mysql ڈیٹا بیس کا بیک اپ اور بحالی کیسے کریں

عارف کسے کہتے ہیں؟ اللہ سے Ù…ØØ¨Øª Ú©ÛŒ باتیں شیخ الاسلام ڈاÚ

عارف کسے کہتے ہیں؟ اللہ سے Ù…ØØ¨Øª Ú©ÛŒ باتیں شیخ الاسلام ڈاÚ

فہرست کا خانہ:

Anonim

اس ٹیوٹوریل میں وضاحت کی گئی ہے کہ مائکسیڈمپمپ یوٹیلیٹی کا استعمال کرتے ہوئے کمانڈ لائن سے ایس کیو ایل یا ماریا ڈی بی ڈیٹا بیس کو بیک اپ اور بحال کرنا ہے۔

mysqldump کی افادیت کے ذریعہ تیار کردہ بیک اپ فائلیں بنیادی طور پر ایس کیو ایل کے بیانات کا ایک سیٹ ہے جو اصل ڈیٹا بیس کو دوبارہ بنانے کے لئے استعمال کیا جاسکتا ہے۔ mysqldump کمانڈ CSV اور XML فارمیٹ میں فائلیں بھی تیار کرسکتی ہے۔

آپ اپنے ایس کیو ایل ڈیٹا بیس کو کسی اور ایس کیو ایل سرور میں منتقل کرنے کے لئے میسکیپلڈمپ یوٹیلیٹی بھی استعمال کرسکتے ہیں۔

میسکلڈمپ کمانڈ نحو

mysqldump کمانڈ کو کس طرح استعمال کریں اس میں جانے سے پہلے ، آئیے بنیادی نحو کا جائزہ لے کر شروع کریں۔

mysqldump کی افادیت کے اظہار مندرجہ ذیل شکل اختیار کرتے ہیں:

mysqldump > file.sql

  • options - mysqldump اختیارات file.sql - ڈمپ (بیک اپ) فائل

مائکسیڈمپمپ کمانڈ کو استعمال کرنے کے لئے ، ایس کیو ایل سرور کو قابل رسائ اور چلتا ہونا ضروری ہے۔

ایک سنگل ایس کیو ایل ڈیٹا بیس کا بیک اپ بنائیں

مائکسیڈمپمپ ٹول کا سب سے عام استعمال کیس ایک ہی ڈیٹا بیس کا بیک اپ بنانا ہے۔

مثال کے طور پر ، صارف root کا استعمال کرتے ہوئے ڈیٹا بیس نامی database_name کا بیک اپ بنانے کے لئے اور اس کو ڈیٹا بیس_امین نام کی فائل میں محفوظ کرنا ہے۔

mysqldump -u root -p database_name > database_name.sql

آپ کو روٹ پاس ورڈ داخل کرنے کا اشارہ کیا جائے گا۔ کامیاب توثیق کے بعد ، ڈمپ عمل شروع ہوگا۔ ڈیٹا بیس کے سائز پر منحصر ہے ، عمل میں کچھ وقت لگ سکتا ہے۔

mysqldump database_name > database_name.sql

بیک اپ متعدد ایس کیو ایل ڈیٹا بیس

متعدد ایس کیو ایل ڈیٹا بیس کو ایک کمانڈ کے ساتھ بیک اپ کرنے کے --database آپ کو --database آپشن کو استعمال کرنے کی ضرورت ہوگی جس کے بعد آپ ڈیٹا بیس کی فہرست کا بیک اپ لینا چاہتے ہیں۔ ہر ڈیٹا بیس کا نام جگہ سے الگ کرنا چاہئے۔

mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql

اوپر دی گئی کمانڈ ایک ڈمپ فائل بنائے گی جس میں دونوں ڈیٹا بیس ہوں گے۔

بیک اپ تمام ایس کیو ایل ڈیٹا بیس

تمام ایس کیو ایل ڈیٹا بیس کا بیک اپ لینے کے لئے --all-databases آپشن کا استعمال کریں:

mysqldump -u root -p --all-databases > all_databases.sql

پچھلی مثال کی طرح ہی ، اوپر کی کمانڈ ایک واحد ڈمپ فائل بنائے گی جس میں تمام ڈیٹا بیس ہوں گے۔

فائلوں کو الگ کرنے کے لئے تمام ایس کیو ایل ڈیٹا بیس کا بیک اپ بنائیں

mysqldump یوٹیلیٹی تمام ڈیٹا بیس کو فائلوں کو الگ کرنے کے لئے بیک اپ لینے کا آپشن فراہم نہیں کرتی ہے لیکن ہم اسے آسانی سے حاصل mysqldump ہیں۔

for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done

مذکورہ کمانڈ ہر ڈیٹا بیس کے ل for فائل کا نام بطور ڈیٹا بیس نام استعمال کرکے ایک الگ ڈمپ فائل بنائے گی۔

ایک کمپریسڈ ایس کیو ایل ڈیٹا بیس بیک اپ بنائیں

اگر ڈیٹا بیس کا سائز بہت بڑا ہے تو آؤٹ پٹ کو کمپریس کرنا اچھا خیال ہے۔ اس کے gzip To ، آؤٹ پٹ کو gzip یوٹیلیٹی پر صرف پائپ کریں ، اور اسے کسی فائل میں ری ڈائریکٹ کریں جیسا کہ ذیل میں دکھایا گیا ہے:

mysqldump database_name | gzip > database_name.sql.gz

ٹائم اسٹیمپ کے ساتھ بیک اپ بنائیں

mysqldump database_name > database_name-$(date +%Y%m%d).sql

مندرجہ بالا کمانڈ مندرجہ ذیل فارمیٹ database_name-20180617.sql ساتھ ایک فائل database_name-20180617.sql

ایک ایس کیو ایل ڈمپ کی بحالی

آپ mysql آلے کا استعمال کرکے ایک ایس کیو ایل ڈمپ کو بحال کرسکتے ہیں۔ کمانڈ جنرل نحو ذیل میں ہے:

mysqld database_name < file.sql

زیادہ تر معاملات میں درآمد کرنے کے ل you'll آپ کو ایک ڈیٹا بیس بنانے کی ضرورت ہوگی۔ اگر ڈیٹا بیس پہلے ہی موجود ہے تو پہلے آپ کو اسے حذف کرنے کی ضرورت ہے۔

مندرجہ ذیل مثال میں پہلی کمانڈ ایک ڈیٹا بیس بنائے گی جس کا نام database_name اور پھر وہ اس میں ڈمپ database_name.sql بیس_امین_سکیئل درآمد کرے گا۔

mysql -u root -p -e "create database database_name"; mysql -u root -p database_name < database_name.sql

مکمل ایس کیو ایل ڈمپ سے ایک سنگل ایس کیو ایل ڈیٹا بیس کو بحال کریں

mysql --one-database database_name < all_databases.sql

ایک کمانڈ میں ایک ایس کیو ایل ڈیٹا بیس کو برآمد اور درآمد کریں

کسی ڈیٹا بیس سے ڈمپ فائل بنانے اور پھر بیک اپ کو دوسرے ایس کیو ایل ڈیٹا بیس میں درآمد کرنے کے بجائے آپ مندرجہ ذیل ون لائنر استعمال کرسکتے ہیں۔

mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name

مندرجہ بالا کمانڈ ریموٹ ہوسٹ کے ایک ایس کیو ایل کلائنٹ کو آؤٹ پٹ پائپ کرے گی اور وہ اسے remote_database_name ڈیٹا بیس میں درآمد کرے گی۔ کمانڈ چلانے سے پہلے ، یہ یقینی بنائیں کہ ریموٹ سرور پر پہلے سے موجود ڈیٹا بیس موجود ہے۔

کرون کے ساتھ بیک اپ کو خودکار کریں

ڈیٹا بیس کی پشت پناہی کرنے کے عمل کو خودکار بنانا اتنا ہی آسان ہے جتنا ایک کرون جاب تیار کرنا جو مقررہ وقت پر mysqldump کمانڈ چلائے گا۔

کرون کام کا استعمال کرتے ہوئے ایس کیو ایل ڈیٹا بیس کا خودکار بیک اپ مرتب کرنے کے لئے ، درج ذیل مراحل پر عمل کریں:

  1. اپنی صارف کی ہوم ڈائریکٹری میں .my.cnf نام سے ایک فائل بنائیں:

    sudo nano ~/.my.cnf

    مندرجہ ذیل متن کو.my.cnf فائل میں کاپی اور پیسٹ کریں۔

    user = dbuser password = dbpasswd

    dbuser صارف اور صارف کے پاس ورڈ کے ساتھ dbuser اور dbpasswd کو تبدیل کرنا مت بھولنا۔

    اسناد کی فائل کی اجازت کو محدود کریں تاکہ صرف آپ کے صارف تک اس تک رسائی ہو۔

    chmod 600 ~/.my.cnf

    بیک اپ کو اسٹور کرنے کے لئے ایک ڈائرکٹری بنائیں:

    mkdir ~/db_backups

    اپنی صارف کی فائل کو کھولیں:

    crontab -e

    مندرجہ ذیل کرون ملازمت شامل کریں جو روزانہ صبح 3 بجے ایک ڈیٹا بیس نام mydb کا بیک اپ بنائے گی۔

    0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sql

    username کو اپنے اصل صارف نام کے ساتھ تبدیل کرنا مت بھولنا۔

آپ 30 دن سے زیادہ کے کسی بھی بیک اپ کو حذف کرنے کے لئے ایک اور کرون کام بھی تشکیل دے سکتے ہیں۔

find /path/to/backups -type f -name "*.sql" -mtime +30 -delete

یقینا ، آپ کو اپنے بیک اپ لوکیشن اور فائل کے نام کے مطابق کمانڈ ایڈجسٹ کرنے کی ضرورت ہے۔ فائنڈ کمانڈ کے بارے میں مزید جاننے کے ل the ، کمانڈ لائن گائیڈ کا استعمال کرتے ہوئے لینکس میں فائلیں کیسے ڈھونڈیں اس کی جانچ کریں۔

نتیجہ اخذ کرنا

اس ٹیوٹوریل میں صرف بنیادی باتوں کا احاطہ کیا گیا ہے ، لیکن اس کے لئے یہ اچھی شروعات ہونی چاہئے کہ جو ایس کیو ایل ٹیمپلیٹ کو استعمال کرتے ہوئے کمانڈ لائن سے ایس کیو ایل ڈیٹا بیس بنانا اور بحال کرنا سیکھے۔

آپ ایس کیو ایل کے روٹ پاس ورڈ کو بھول جانے کی صورت میں اس کو دوبارہ ترتیب دینے کے بارے میں ٹیوٹوریل بھی چیک کرسکتے ہیں۔

mysql mariadb بیک اپ mysqldump