আমি কীভাবে mysqldump এর সাথে ত্রুটিগুলি উপেক্ষা করব?


12

একটি ডাটাবেস ডাম্প করার সময়, আমি পাচ্ছি

mysqldump: Couldn't execute 'show create table `some_table`': execute command denied to user 'some_user'@'%' for routine 'some_routime' (1370)

এবং তারপরে ডাম্পিং বন্ধ হয়ে যায়।

আমি যখন মাইএসকিএলডামকে এই ধরণের সমস্যার মধ্যে চলে তখন কীভাবে চালিয়ে যাব? 10 মিনিটের গুগল কোনও সহায়তা দেয় না।

আমি যে আদেশটি ব্যবহার করেছি তা এখানে:

mysqldump -u username -h localhost --port=4406 -p --databases database_name --skip-lock-tables --force > database_name.sql

উত্তর:


27

man mysqldump

-f, --force         Continue even if we get an sql-error.

ঠিক আছে, আমি ভেবেছিলাম এটি ব্যর্থ হয়েছে, তবে দৃশ্যত এটি কাজ করেছিল। ডাম্পটি শেষ হয়ে গেছে বলে মনে হচ্ছে, তবে ত্রুটিগুলি শেষের দিকে ঘটেছে, সুতরাং এটি ত্রুটিগুলি ডাম্পকে ব্যর্থ করে দেওয়ার মতো দেখায়।
চাদ জনসন

তিনি আমাদের যে কমান্ডটি দেখিয়েছেন তাতে তিনি ইতিমধ্যে - ফোর্স বিকল্পটি সরবরাহ করেছেন।
জোড়দাচে

1
দুঃখিত বুঝতে পারিনি।
chocripple

1
@ চ্যাড জনসন, একজন ব্যক্তি তর্ক করতে পারে যে আপনি যদি --ফোর্স ব্যবহার না করে ক্লিন ব্যাকআপ পেতে না পারেন তবে আপনার ব্যাকআপ ব্যর্থ হয়েছে। বল বিকল্পটি ত্রুটিগুলি দমন করবে যা গুরুত্বপূর্ণ হতে পারে। আপনি নির্ভর করবেন এমন ব্যাকআপ স্ক্রিপ্টে - ফোর্স ব্যবহার করবেন না।
জোরডাচে

এটি ঠিক তাই আমি স্থানীয়ভাবে কাজ করার জন্য একটি ডাটাবেসের ডাম্প পেতে পারি। কিছুই গুরুত্বপূর্ণ।
চাদ জনসন

1

আফিক, আপনি পারবেন না। আপনার চালনার জন্য যথেষ্ট সুযোগ-সুবিধা দরকার mysqldump। আপনি executeযে চলমান ব্যবহারকারীকে বিশেষাধিকার দেন নি কেন ?


2
কারণ আমার সংস্থা আমাকে অন্য বিভাগের মধ্য দিয়ে যেতে বাধ্য করেছে :(
চাদ জনসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.