শেলস্ক্রিপ্টে পাসওয়ার্ডের জন্য অনুরোধ করা মাইএসকিএলডম্প ump


9

একটি নির্দিষ্ট মাইএসকিএল ডাটাবেস ডাম্প করার জন্য আমি একটি সাধারণ শেল স্ক্রিপ্ট লিখেছিলাম। সমস্যাটি হ'ল এটি আমাকে পাসওয়ার্ড দেওয়ার জন্য অনুরোধ করছে যদিও আমি সরবরাহ করি। মাইএসকিএল ডিবি সংস্করণ 5.0.27 হয় যদি এটি বিবেচনা করে। এখানে আমি নির্দিষ্ট রেখাটি ব্যবহার করছি।

$MYSQLDUMP -u backup -p$MyPass $DB > $DEST/$FILE

আমি বিভিন্ন প্রকারের চেষ্টা করেছি, কিন্তু ফল হয় নি।

উত্তর:


4

আমি দিতাম যা $MyPassআপনার স্ক্রিপ্টে সঠিকভাবে সেট করা হচ্ছে না। যদি মাইএসকিএল কমান্ড-লাইন সরঞ্জামগুলির মধ্যে এমন কোনও যদি পায় -pযা তাৎক্ষণিকভাবে কোনও পাসওয়ার্ড অনুসরণ করে না, তারা ধরে নেয় যে তাদের পাসওয়ার্ডের জন্য অনুরোধ করা উচিত। অন্যদিকে, আপনি যদি একটি ভুল পাসওয়ার্ড সরবরাহ করেছেন (বা ভুল ব্যবহারকারীর নাম বা অনুরূপ) এটি কেবল সংযোগ করতে ব্যর্থ হবে।

সুতরাং, আমি echoসেই লাইনের শুরুতে একটি কমান্ড দেওয়ার পরামর্শ দিচ্ছি এবং আপনার স্ক্রিপ্টটি পুনরায় চালানোর পরামর্শ দিচ্ছি :

echo $MYSQLDUMP -u backup -p$MyPass $DB

আউটপুট পুনঃনির্দেশ সরাতে ভুলবেন না।


1
দোহ, এটি একটি নির্বোধ পরিবর্তনশীল ছিল, যখন উপরের লাইনে বনাম ছোট হাতের অক্ষর সেট করা হয়েছিল তখন ক্যাপগুলিতে পাস করেছিল। ধন্যবাদ ছেলেরা

18

আরও ভাল সমাধান হ'ল একটি কনফিগারেশন ফাইলে ব্যবহারকারীর নাম এবং পাসওয়ার্ড সংরক্ষণ এবং সেই কনফিগারেশন ফাইলটিতে নির্দেশ করা। কমান্ড লাইনে থাকার মাধ্যমে যে কেউ PS চালাতে পারে আপনার সার্ভারের জন্য পাসওয়ার্ড খুঁজে পেতে পারে।

--defaults-extra-file=/pathto/database.cnfমাইএসকিএল ডাম্পে পাস করুন ।

কনফিগারেশন ফাইলটি দেখতে এটির মতো হওয়া দরকার। ফাইল সিস্টেমের অনুমতিগুলি সেট করুন যাতে ব্যাকআপ প্রক্রিয়াটি কনফিগারেশন ফাইলটি খুলতে পারে।

[client]
host     = servername.domain.tld
user     = backup
password = strongpassword

আপডেট (2016-06-29) আপনি MySQL 5.6.6 বা তার অধিক চলমান হয়, আপনি তাকান উচিত mysql_config_editor সরঞ্জাম যা আপনি করতে পারবেন পরিচয়পত্র সংরক্ষণ একটি এনক্রিপ্ট করা ফাইলের মধ্যে। জিওভান্নিকে আমার কাছে এটি উল্লেখ করার জন্য ধন্যবাদ ।


এটি ব্যাকআপ সঞ্চালনের পর্যাপ্ত অনুমতি সহ সেই ডাটাবেসের জন্য নির্দিষ্ট ব্যবহারকারী। আমার এবং অন্য একজন ব্যক্তি এই সার্ভারটিতে কেবলমাত্র দু'জনের অ্যাক্সেস রয়েছে। তবে আমি সেই সিএনএফ ফাইল ধারণাটি ব্যবহার করব। এই বিকল্পটি সম্পর্কে কখনই জানতাম না। ধন্যবাদ

3
আমি জানি এটি একটি পুরানো উত্তর, তবে কীভাবে পাসওয়ার্ডটি সুরক্ষিতভাবে পাস করতে হয় তা অনুসন্ধান করার পরে এবং এটি অন্য পোস্টগুলি থেকেও যুক্ত রয়েছে still 5.5 সংস্করণ ব্যবহার করে, আমাকে কনফিগার ফাইলে একক টিকগুলিতে স্ট্রংপাসওয়ার্ডটি encapsulate করতে হয়েছিল, যেমন আমার পাসওয়ার্ডটি aoeu1234, আমার কনফিগারেশন ফাইলটিতে রয়েছে password = 'aoeu1234'; অন্যথায় আপনি একটি অননুমোদিত ত্রুটি পাবেন।
দামন

ভাবছেন যে যদি এমন কোনও সমাধান থাকে যা একটি .cnf ফাইলে ক্লিয়ারটেক্সটে একটি পাসওয়ার্ড অন্তর্ভুক্ত করে না।
বব স্টেইন

@ জোরেডেচে, কীভাবে "যে কেউ PS চালাতে পারে সে আপনার সার্ভারের জন্য পাসওয়ার্ড খুঁজে পাবে"?
পেসারিয়ার 15'15

@ ড্যামন, এবং যদি আপনার পাসওয়ার্ডে এই টিকগুলি থাকে?
পেসারিয়ার 15'15
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.