মাইএসকিউএল এর জন্য প্রশাসক অ্যাকাউন্টের পাসওয়ার্ডটি পুনরায় সেট বা পুনরুদ্ধার করবেন কীভাবে?


14

আমার একটি মাইএসকিউএল ডাটাবেস রয়েছে যা আমি "উত্তরাধিকারসূত্রে" পেয়েছি এবং আমাকে প্রশাসকের শংসাপত্রগুলি দেওয়া হয়নি। তবে আমার যে বাক্সটি চালু রয়েছে তাতে অ্যাক্সেস নেই। হয় প্রশাসনের শংসাপত্রগুলি পুনরুদ্ধার করার জন্য বা নতুন একটি তৈরি করার কোনও উপায় আছে?

উত্তর:


15

মাইএসকিউএল রেফারেন্স ম্যানুয়ালে রুট পাসওয়ার্ড পুনরায় সেট করার বিষয়ে অধ্যায়টি পড়ুন এবং সম্পাদন করুন

এই প্রক্রিয়াটি শংসাপত্র সরবরাহ না করে আপনাকে সংযোগ করার অনুমতি ছাড়াই মাইএসকিএল ডেমন শুরু করে। এই মোডে আপনি সাধারণত সংযোগ করতে পারেন এবং পাসওয়ার্ড এবং অনুদান পুনরায় সেট করতে পারেন। এরপরে যথাযথ অনুমোদনের জায়গায় আবার mysql শুরু করতে ভুলবেন না forget


6

এটি যদি কোনও ডেবিয়ান / উবুন্টু বাক্স হয় তবে সেখানে একটি বিশেষ রুট-সমতুল্য অ্যাকাউন্ট রয়েছে যা ডিবিয়ান-সিস-রক্ষণাবেক্ষণ বলে । আপনি পাসওয়ার্ডটি /etc/mysql/debian.cnf এ পড়তে পারেন

এই পাসওয়ার্ডটি ব্যবহার করে আপনি ডেবিয়ান-সিস-প্রিন্ট হিসাবে মাইএসকিএলে লগইন করতে পারেন:

mysql --defaults-file=/etc/mysql/debian.cnf mysql

আপনি লগ ইন হয়ে গেলে, নিম্নলিখিতগুলি করুন:

update user set password=password('<new password>') where user='root';
flush privileges;
quit;

রুটটি এখন আপনার নতুন পাসওয়ার্ড ব্যবহার করে অ্যাক্সেসযোগ্য হওয়া উচিত:

mysql -uroot -p

3

আমার রুট ব্যবহারকারীর উপস্থিতি নেই। চালু

CREATE USER root@localhost;

আমি পেয়েছি

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

সমাধান ছিল

mysqld_safe  --skip-grant-tables &
mysql
INSERT INTO user (Host,User,Password) VALUES ('localhost', 'root', 'changethispassword');
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;

এর পরে আমি এ থেকে সামান্য সাহায্য নিয়ে একে একে সমস্ত প্রাইভেস যুক্ত করেছি:

mysql mysql -e "SELECT * FROM user WHERE User='root'\G"|grep N

(এবং এটি একটি আরও বেশি স্বয়ংক্রিয় হওয়া উচিত)

দ্রষ্টব্য: 'ওয়াই এর মধ্যে সঠিক সংখ্যাটি খুঁজে INSERTপাওয়া একটি পিআইটিএ।


0

মাইএসকিউএল রেফারেন্স ম্যানুয়ালের পদক্ষেপগুলি খুব স্পষ্ট না হওয়ায় আমি এখানে সহজ ভাষায় উত্তর দেওয়ার চেষ্টা করছি। (এই উত্তরটি ম্যাকবুক ওএসএক্স ব্যবহারকারীদের জন্য প্রাসঙ্গিক):

  1. যেহেতু আমরা বর্তমান পাসওয়ার্ড জানি না, মাইএসকিউএল সার্ভারের বর্তমান লগইন শংসাপত্রগুলিকে বাদ দেওয়া / বাইপাস চালানো দরকার। মাইএসকিউএল সার্ভারকে অ্যাক্সেস অনুদানের টেবিলটি এড়িয়ে যেতে নির্দেশ দিন:
    • আপনার মাইএসকিউএল সার্ভারটি বন্ধ করুন (এটি ইতিমধ্যে চালু থাকলে)।
    • আপনার মাইএসকিউএল কনফিগারেশন ফাইলটি সন্ধান করুন my.cnf। (আমার জন্য এটি @ স্থাপন করা হয়েছিল /Applications/XAMPP/xamppfiles/etc। আপনি এটি না পেলে কেবল অনুসন্ধান করতে পারেন)।
    • যে my.cnfকোনও পাঠ্য সম্পাদককে ফাইল খুলুন ।
    • যোগ "skip-grant-tables"শেষে (উদ্ধৃতিগুলি ছাড়াই) [mysqld]অধ্যায় এবং ফাইল সংরক্ষণ করুন।
    • এখন আপনার মাইএসকিউএল সার্ভারটি শুরু করুন। এটি skip-grant-tablesবিকল্প দিয়ে শুরু করব ।
  2. কমান্ড ওপেন Terminalএবং রান করুনmysql
  3. কমান্ড কার্যকর করুন mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
  4. কমান্ড কার্যকর করুন mysql> FLUSH PRIVILEGES;
  5. কমান্ড কার্যকর করুন mysql> exit
  6. মাইএসকিউএল সার্ভার পুনরায় চালু করুন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.