মাইএসকিএলডাম্প কমান্ড ডিবিতে উপস্থিত সমস্ত দর্শন বা এর জন্য একটি বিশেষ কমান্ড রয়েছে কি তাও ব্যাকআপ করবে?


10

আমি আমার সম্পূর্ণ ডাটাবেস দেখার সাথে সাথে ব্যাকআপ করার চেষ্টা করছি। আমি mysqldumpকমান্ড ব্যবহার করতে যাচ্ছি । আমি ভাবছিলাম যে এটি সমস্ত দর্শনগুলি অনুলিপি করবে বা এর জন্য আমাকে আলাদা কমান্ড ব্যবহার করতে হবে।

আমাকে একটি উত্তর প্রস্তাব করুন। কোন সাহায্য ব্যাপকভাবে প্রশংসা করা হয়।

উত্তর:


9

ডাম্পিং ভিউয়ের জন্য কোনও নির্দিষ্ট বিকল্প নেই।

আপনি নিম্নলিখিত চেষ্টা করতে পারেন:

mysqldump -h... -u... -p... --all-databases --routines --triggers --no-data > /root/MySQLDBSchema.sql
grep "CREATE ALGORITHM" /root/MySQLDBSchema.sql

আপনার মতামতগুলি দেখতে সক্ষম হওয়া উচিত। এটি সূচিত করে যে আপনি যখন ডাটাবেস ডাম্প করেন তখন দৃশ্যটি এটির সাথে আসে।

আর একটি স্টান্ট আপনি চেষ্টা করতে পারেন, কেবলমাত্র মতামত পেতে, এটি হ'ল:

mysql -uroot -prootpass AN -e"select concat('SHOW CREATE VIEW ',table_schema,'.',table_name,';') from information_schema.views" | sed 's/;/\\G/g' | mysql --uroot -prootpass > /root/MySQLDBViews.sql

একবার চেষ্টা করে দেখো !!!


এই ধরণের ব্যাখ্যামূলক উত্তরের জন্য অনেক ধন্যবাদ। সমস্যাটি হচ্ছে, আমার ডাটাবেসগুলি খুব বড় তাই আমি একবারে একটি অনুলিপি করার পরিকল্পনা করছি। এই সমস্ত গণ্ডগোলের মধ্যে আমার 'ভিউ'গুলিও অনুলিপি করা দরকার যাতে আমি সমস্ত - ডাটাবেস কমান্ড ব্যবহার করতে পারি না। মাইএসকিএল ডিবি সার্ভার থেকে মতামত অনুলিপি করার জন্য দয়া করে একটি উপায় প্রস্তাব করুন।
ভিনি

সুতরাং, ব্যবহারের পরিবর্তে, --all-databasesআপনি যে ডাটাবেসটি চান তা নির্দিষ্ট করুন।
ডেরেক ডাউনি

1

এই জন্য সর্বোত্তম উত্তর সম্ভবত এই এক দ্বারা olliiiver যা আমি সামান্য সংশোধন করেছেন। এটি বিশেষত একটি ড্রপ টেবিল ক্যোয়ারী এবং কোনও টেবিলের সাথে গোলমাল না করে সিস্টেমের প্রতিটি দৃশ্যের জন্য ভিউ ক্যোয়ারী তৈরি বা প্রতিস্থাপন করে। ড্রপ টেবিল ক্যোয়ারী প্রায়শই গুরুত্বপূর্ণ, কারণ মাইএসকিল্ড্প দৃশ্যত টেবিল হিসাবে মতামত পুনরায় তৈরি করতে পছন্দ করে না যদি আপনি প্রতিটি ভিউকে তার নিজস্ব --ignore-টেবিল প্যারামিটারে অন্তর্ভুক্ত না করেন যা বিরক্তিকর হবে। এটি INFORMATION_SCHEMA ব্যবহার করে।

mysql --skip-column-names --batch \
  -e "SELECT CONCAT('DROP TABLE IF EXISTS ', TABLE_SCHEMA, '.', TABLE_NAME, \
  '; CREATE OR REPLACE VIEW ', TABLE_SCHEMA, '.', TABLE_NAME, ' AS ', \
  VIEW_DEFINITION, '; ') AS q FROM INFORMATION_SCHEMA.VIEWS"

আপনি যদি এরকম কিছু শেল স্ক্রিপ্টে রূপান্তর করতে চান তবে আমি --defaults-extra-file = CREDSFILENAME পরামিতিটি ব্যবহার করার পরামর্শ দিচ্ছি, যাতে আপনাকে স্ক্রিপ্টে ব্যবহারকারী / পাস নির্দিষ্ট করার প্রয়োজন হয় না।

শংসাপত্রগুলির ফাইলটি এর মতো দেখাচ্ছে:

[client]
username=YourUsernameHere
password=YourPasswordHere
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.