mysqladmin -uroot create foo
foo
উপস্থিত থাকলে 1 এর প্রস্থান স্থিতি এবং অন্যথায় 0 প্রদান করে তবে অবশ্যই এটি ইতিমধ্যে বিদ্যমান না থাকলে এটি ডাটাবেস তৈরি করবে। কোনও ডাটাবেস আছে কি না তা খতিয়ে দেখার কোনও সহজ উপায় আছে?
mysqladmin -uroot create foo
foo
উপস্থিত থাকলে 1 এর প্রস্থান স্থিতি এবং অন্যথায় 0 প্রদান করে তবে অবশ্যই এটি ইতিমধ্যে বিদ্যমান না থাকলে এটি ডাটাবেস তৈরি করবে। কোনও ডাটাবেস আছে কি না তা খতিয়ে দেখার কোনও সহজ উপায় আছে?
উত্তর:
আমি বুঝতে পারি যে এর উত্তর অনেক আগেই দেওয়া হয়েছিল, তবে এটি করা আমার পক্ষে আরও পরিষ্কার clean
mysql -u root -e 'use mydbname'
যদি ডাটাবেসটি বিদ্যমান থাকে তবে এটি কোনও আউটপুট তৈরি করবে না এবং রিটার্নকোড == 0 দিয়ে প্রস্থান করবে।
তাহলে ডাটাবেসের নেই অস্তিত্ব, এই একটি ত্রুটির বার্তা উত্পাদন করা হবে দ্বারা stderr এবং == returncode সঙ্গে 1. প্রস্থান আপনি ভালো কিছু করতে চাই তাই:
if ! mysql -u root -e 'use mydbname'; then
...do stuff to create database...
fi
এটি শেল স্ক্রিপ্টগুলির সাথে দুর্দান্তভাবে পরিচালনা করে, আউটপুট কোনও প্রসেসিং প্রয়োজন হয় না এবং স্থানীয় ফাইল সিস্টেম অ্যাক্সেস থাকার উপর নির্ভর করে না।
mysql -e "SHOW DATABASES LIKE 'foo'"
আপনাকে সাহায্য করা উচিত
mysql --batch --skip-column-names -e "SHOW DATABASES LIKE 'foo'" | grep foo
।
মাইএসকিউএল-এ ডাটাবেসগুলি ফাইল সিস্টেমে ফোল্ডার are এটি কোনও ডাটাবেস বিদ্যমান কিনা তা খুঁজে পাওয়া সহজ করে তোলে:
test -d "/var/lib/mysql/databasename"
এই ক্ষেত্রে, /var/lib
মাইএসকিউএল এর ডেটাডির হয়। এই স্নিপেটটি সম্পর্কে দুর্দান্ত বিষয়টি হল এটির জন্য কোনও মাইএসকিউএল ডেমন চলবে না, এর জন্য শংসাপত্রেরও প্রয়োজন নেই। অবশ্যই কমান্ডটি ব্যবহারকারী ব্যবহারকারীকে সেই ডিরেক্টরিতে নামতে হবে।
Http://www.jbmurphy.com/2011/02/08/quick-check-if-a-mysql- ডেটাবেস- এক্সিস্টগুলি থেকে / আমি যা চেয়েছিলাম তার তুলনায় এটি আরও অনুরূপ:
DBNAME="dblookingfor"
DBEXISTS=$(mysql --batch --skip-column-names -e "SHOW DATABASES LIKE '"$DBNAME"';" | grep "$DBNAME" > /dev/null; echo "$?")
if [ $DBEXISTS -eq 0 ];then
echo "A database with the name $DBNAME already exists."
else
echo " database $DBNAME does not exist."
fi
আমি মনে করি আপনার প্রয়োজনীয় ডাটাবেসগুলি কোনও শেলের সাধারণ উপায়ে কাজ করছে কিনা তা আপনি পরীক্ষা করতে পারেন
mysql -uUSERNAME -pPASSWORD DATABASE -e exit
এবং তারপরে $?
প্রস্থান কোডের জন্য চেক করুন
এই কমান্ডটি নির্বাচিত DATABASE এবং exit
তাত্ক্ষণিকভাবে সংযোগ করতে আপনার নির্দিষ্ট শংসাপত্রগুলি (USERNAME এবং পাসওয়ার্ড) চেষ্টা করে। সুতরাং, সংযোগ যদি ঠিক থাকে তবে এক্সটোকড 0 হবে এবং অন্যথায় শূন্য নয়।
অবশ্যই, আপনি /dev/null
প্রয়োজন হলে যে কোনও আউটপুট পুনর্নির্দেশ করতে পারেন
গীত। এই পদ্ধতিটি অতি সাময়িক স্টোরেজের স্বাস্থ্য পরীক্ষা করতে খুব দরকারী যা আমাদের দিনগুলিতে এত দ্রুত এবং জনপ্রিয়। যদি ডাটাবেস সংযুক্ত না করা যায় তবে আপনার তাত্পর্যপূর্ণ পুনরুদ্ধার শুরু করা উচিত।