আমি কীভাবে আমার মাইএসকিউএল ব্যবহারকারীর নাম এবং পাসওয়ার্ড পুনরুদ্ধার করব?


158

আমি আমার মাইএসকিউএল ব্যবহারকারীর নাম এবং পাসওয়ার্ড হারিয়েছি। আমি কীভাবে এটি পুনরুদ্ধার করব?

উত্তর:


186

মাইএসকিউএল প্রক্রিয়া বন্ধ করুন।

--স্কিপ-অনুদান-সারণী বিকল্পের সাহায্যে মাইএসকিউএল প্রক্রিয়া শুরু করুন।

ম-এসকিউএল কনসোল ক্লায়েন্ট -u মূল বিকল্পটি দিয়ে শুরু করুন।

সমস্ত ব্যবহারকারীর তালিকা করুন;

SELECT * FROM mysql.user;

পাসওয়ার্ড রিসেট করুন;

UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

তবে ভুলে যাবেন না

মাইএসকিউএল প্রক্রিয়া বন্ধ করুন

মাইএসকিউএল প্রক্রিয়াটি সাধারণত শুরু করুন (উদাহরণস্বরূপ --স্কিপ-অনুদান-সারণী বিকল্প ছাড়া)

যখন আপনি শেষ। অন্যথায়, আপনার ডাটাবেসের সুরক্ষা আপস করা যেতে পারে।


7
ভাবেন আপনার সাধারণ ব্যবহারকারীদের পুনরায় সেট করার জন্য ডেমন পুনরায় চালু করার দরকার নেই। কেবল "ফ্ল্যাশ প্রাইভেলিজ;" ব্যবহারকারীর পাসওয়ার্ড আপডেট করার পরে। - স্কিপ-অনুদান-টেবিলগুলি কেবল একটি রুট ব্যবহারকারীর পাসওয়ার্ড পুনরায় সেট করার জন্য প্রয়োজনীয়! এটি সাধারণত কোনও মানক ব্যবহারকারী পুনরায় সেট করার জন্য সুপারিশ করা হবে না।
আমোস ফোলারিন

dpkg-reconfigure mysql-server-5.5রুট মাইএসকিউএল পাসওয়ার্ডটি পুনরায় সেট করতে কমান্ডটি ব্যবহার করার তাৎপর্য কী ?
ফিলিপসেকে

@ জেনাফ, আপনি "ম -এসকিউএল কনসোল ক্লায়েন্টকে -u বিকল্পের সাহায্যে শুরু করুন " কেন বলছেন ? -uসার্ভার চালু হওয়ার সাথে সাথে এটিকে এড়িয়ে যাওয়ার কোনও কারণ নেই --skip-grant-tables
পেসারিয়ার

15
মাইএসকিউএল 5.7 হবে। *, সেখানে কোন কলাম mysql.userনামক passwordব্যবহার authentication_stringপরিবর্তে।
আদিব অরওই

3
আমি এই + স্ট্যাকওভারফ্লো.com / a / 35277160 / 1604601 খুব সহায়ক বলে মনে করেছি
এলিয়েন লাইফ ফর্ম

42

দুর্ভাগ্যক্রমে আপনার ব্যবহারকারীর পাসওয়ার্ড অপরিবর্তনীয়। এটি একটি উপায় সহ হ্যাশ করা হয়েছে যা আপনি যদি না জানেন তবে তা অপরিবর্তনীয়। আমি উপরের জেন্ফ ইয়ানকে সাথে নিয়ে যেতে এবং কেবল একটি নতুন তৈরি করার পরামর্শ দিচ্ছি।

উইন্ডোতে যে কোনও মাইএসকিউএল রুট অ্যাকাউন্টগুলির জন্য পাসওয়ার্ড পুনরায় সেট করার জন্য আপনি ম্যানুয়াল থেকে নিম্নলিখিত পদ্ধতিটি ব্যবহার করতে পারেন :

  1. প্রশাসক হিসাবে আপনার সিস্টেমে লগ ইন করুন।
  2. মাইএসকিউএল সার্ভার চালু থাকলে বন্ধ করুন। উইন্ডোজ পরিষেবা হিসাবে চলমান একটি সার্ভারের জন্য পরিষেবাদি পরিচালকের কাছে যান:

মেনু -> নিয়ন্ত্রণ প্যানেল -> প্রশাসনিক সরঞ্জাম -> পরিষেবাগুলি শুরু করুন

তারপরে তালিকায় মাইএসকিউএল পরিষেবাটি সন্ধান করুন এবং এটি বন্ধ করুন। যদি আপনার সার্ভারটি পরিষেবা হিসাবে চলমান না থাকে তবে আপনাকে এটিকে থামাতে বাধ্য করার জন্য টাস্ক ম্যানেজারের প্রয়োজন হতে পারে।

  1. একটি পাঠ্য ফাইল তৈরি করুন এবং এটিতে নীচের বিবৃতিগুলি রাখুন। আপনি যে পাসওয়ার্ডটি ব্যবহার করতে চান তার সাথে পাসওয়ার্ডটি প্রতিস্থাপন করুন।

    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;

    আপডেট এবং ফ্লাশ বিবৃতি প্রতিটি একটি একক লাইন লেখা দিতে হবে। আপডেট বিবৃতি সমস্ত বিদ্যমান রুট অ্যাকাউন্টের জন্য পাসওয়ার্ড, এবং রিসেট ফ্লাশ বিবৃতি সার্ভার মেমরিতে অনুদান টেবিল পুনরায় লোড করার বলে।

  2. ফাইলটি সংরক্ষণ করুন। এই উদাহরণস্বরূপ, ফাইলটির নাম দেওয়া হবে সি: \ mysql-init.txt।
  3. কমান্ড প্রম্পটে পেতে কনসোল উইন্ডোটি খুলুন:

    মেনু শুরু করুন -> চালান -> সেমিডি

  4. মাইএসকিউএল সার্ভারটি বিশেষ --init-file বিকল্পের সাহায্যে শুরু করুন:

    C:\> C:\mysql\bin\mysqld-nt --init-file = C:\mysql-init.txt

    আপনি যদি মাইএসকিউএল সি: \ মাইএসকিএল ব্যতীত অন্য কোনও স্থানে ইনস্টল করেন করেন তবে সেই অনুযায়ী আদেশটি সামঞ্জস্য করুন।

    সার্ভারটি শুরুতে --init-file বিকল্প দ্বারা নামের ফাইলের বিষয়বস্তু সম্পাদন করে প্রতিটি রুট অ্যাকাউন্টের পাসওয়ার্ড পরিবর্তন করে ।

    আপনি যদি লগ ফাইলের পরিবর্তে কনসোল উইন্ডোতে সার্ভার আউটপুট প্রদর্শিত হতে চান তবে আপনি কমান্ডটিতে --console বিকল্পটি যুক্ত করতে পারেন।

    আপনি যদি মাইএসকিউএল ইনস্টলেশন উইজার্ড ব্যবহার করে মাইএসকিউএল ইনস্টল করেন তবে আপনাকে একটি --deafults- ফাইল বিকল্প নির্দিষ্ট করতে হবে :

    C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt

    পরিষেবা - পরিচালক ব্যবহার করে উপযুক্ত --deafults- ফাইল সেটিংটি পাওয়া যাবে:

    মেনু -> নিয়ন্ত্রণ প্যানেল -> প্রশাসনিক সরঞ্জাম -> পরিষেবাগুলি শুরু করুন

    তালিকায় মাইএসকিউএল পরিষেবাটি সন্ধান করুন, এটিতে ডান ক্লিক করুন এবং বৈশিষ্ট্য বিকল্পটি নির্বাচন করুন। এক্সিকিউটেবল ক্ষেত্রের পথে --deafults- ফাইল সেটিং রয়েছে।

  5. সার্ভারটি সফলভাবে শুরু হওয়ার পরে, সি: \ mysql-init.txt মুছুন
  6. মাইএসকিউএল সার্ভারটি থামান, তারপরে আবার এটিকে আবার সাধারণ মোডে পুনঃসূচনা করুন। আপনি যদি সার্ভিসটিকে পরিষেবা হিসাবে চালনা করেন তবে এটি উইন্ডোজ পরিষেবাদি উইন্ডো থেকে শুরু করুন। আপনি যদি সার্ভারটি ম্যানুয়ালি শুরু করেন তবে আপনি সাধারণত যে আদেশটি ব্যবহার করেন তা ব্যবহার করুন।

আপনার এখন নতুন পাসওয়ার্ডটি ব্যবহার করে রুট হিসাবে মাইএসকিউএলে কানেক্ট করতে সক্ষম হওয়া উচিত।


5
@ জ্যাক - উত্তরের জন্য ধন্যবাদ। আমি এটিকে থাম্বস আপ দিতে চেয়েছিলাম তবে কোনও কারণে স্ট্যাকওভারফ্লো আমাকে সুনামের পয়েন্টগুলির কারণে এটি করতে দেয় না। কেন অন্য সব কিছুর আমি যেসব শুধুমাত্র Google পড়ি আমাকে নির্দেশ দিয়েছেন আপনার ব্যাখ্যা "দুর্ভাগ্যবশত আপনার ব্যবহারকারী পাসওয়ার্ড পুনরূদ্ধারের অসাধ্য নয়। এটি একটি ওয়ান ওয়ে হ্যাশ যা যদি আপনি না জানেন অপরিবর্তনীয় সঙ্গে কুচি-কুচি করিয়া কাটা বস্তু হয়েছে" আমার বোঝার চাবিকাঠি ছিল পরিবর্তন আমার পাসওয়ার্ড। একমাত্র নির্দেশাবলীর চেয়ে ভাল ব্যাখ্যা আরও অন্তর্দৃষ্টিযুক্ত।
ডিএসডিএসএসডিএসডি

1
@ জেক আমি পরিষেবা তালিকায় মাইএসকিএল খুঁজে পাচ্ছি না দয়া করে আমাকে বলুন কী করতে হবে?

1
তার mysqld-ntবদলে আপনার কেন mysqld?
পেসারিয়ার

বিটিডব্লিউ, এর কোনও ফাইলবিহীন বিকল্প নেই --init-file? (Mysql.exe এর --executeআদেশের অনুরূপ কিছু ))
পেসারিয়ার

34

এখানে সবচেয়ে দরকারী উত্তরের একটি উন্নতি:

1] মাইএসকিএল সার্ভারটি পুনরায় আরম্ভ করার দরকার নেই
2] কোনও নেটওয়ার্কের সাথে সংযুক্ত মাইএসকিউএল সার্ভারের জন্য সুরক্ষা উদ্বেগ

মাইএসকিউএল সার্ভার পুনরায় চালু করার দরকার নেই।

FLUSH PRIVILEGES;পাসওয়ার্ড পরিবর্তনের জন্য আপডেট mysql.user বিবৃতি পরে ব্যবহার করুন ।

FLUSH বিবৃতিটি সার্ভারকে অনুদানের টেবিলগুলিকে মেমরিতে পুনরায় লোড করতে বলে যাতে এটি পাসওয়ার্ড পরিবর্তনের বিষয়টি লক্ষ্য করে।

দ্য --skip-grant-optionsপাসওয়ার্ড ছাড়াই এবং সমস্ত বিশেষাধিকার সাথে সংযুক্ত হওয়ার জন্য যে কেউ দেয়। কারণ এটি অনিরাপদ, আপনি চাইবেন

দূরবর্তী ক্লায়েন্টদের সংযোগ স্থাপন থেকে রক্ষা করতে --স্কিপ-নেটওয়ার্কিংয়ের সাথে একযোগে - -স্কিপ-গ্রান্ট-টেবিলগুলি ব্যবহার করুন ।

থেকে: রেফারেন্স: পুনরায় সেট করার অনুমতি-জেনেরিক


@ থিংকিংমনকি, এটি কি ধরে নেয় না যে বর্তমান ব্যবহারকারীকে লগ করা হয়েছে যা সংশোধন করার অধিকার রয়েছে mysql.user? প্রায়শই যদিও, এটি ক্ষেত্রে না।
পেসারিয়ার

6

আপনি যদি আঘাত না করে সরাসরি কোনও মাইএসকিউএল পাসওয়ার্ড পুনরুদ্ধার করতে না পারেন, তবে অন্য কোনও উপায় থাকতে পারে - আপনি যদি ডেটাবেসের সাথে সংযোগ স্থাপনের জন্য মাইএসকিউএল ওয়ার্কবেঞ্চ ব্যবহার করেন এবং "ভল্ট" -এ শংসাপত্রগুলি সংরক্ষণ করে থাকেন তবে আপনি সোনার।

উইন্ডোজে, শংসাপত্রগুলি % APPDATA% \ মাইএসকিউএল \ ওয়ার্কবেঞ্চ \ workbench_user_data.dat - ক্রিপ্টপ্রোটেক্টডাটা (কোনও অতিরিক্ত এনট্রপি ছাড়াই) এনক্রিপ্ট করা থাকে । ডিক্রিপ্টিং সহজ প্যারিস:

std::vector<unsigned char> decrypt(BYTE *input, size_t length) {
    DATA_BLOB inblob { length, input };
    DATA_BLOB outblob;

    if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
            throw std::runtime_error("Couldn't decrypt");
    }

    std::vector<unsigned char> output(length);
    memcpy(&output[0], outblob.pbData, outblob.cbData);

    return output;
}

অথবা আপনি উত্স + দ্রুত এবং মলিন বাস্তবায়নের কার্যকর করার জন্য এই দানকোডার থ্রেডটি চেক করতে পারেন ।


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

তবে তুলনামূলকভাবে বলতে গেলে খুব কম লোকই ওয়ার্কবেঞ্চ ব্যবহার করছে।
পেসারিয়ার

এখানে আরও একটি বাস্তবায়ন রয়েছে যা ওয়ার্কবেঞ্চের সঞ্চিত ব্যবহারকারীর নাম এবং পাসওয়ার্ডের তথ্য পুনরুদ্ধার করতে ভিজ্যুয়াল স্টুডিও দিয়ে তৈরি করার পরে চালানো যেতে পারে: github.com/wclear/MySQLWorkbenchPasswordViewer
bnp887

6

ডাউন সময় ছাড়াই এটি করুন

ডিবিএমএসের সাথে সংযোগ স্থাপনের জন্য টার্মিনালে নিম্নলিখিত কমান্ডটি চালান (আপনার রুট অ্যাক্সেস প্রয়োজন):

sudo mysql -u root -p;

লক্ষ্য ব্যবহারকারীর আপডেট পাসওয়ার্ড চালান (আমার উদাহরণের জন্য ব্যবহারকারীর নাম mousaviএবং এটির পাসওয়ার্ড অবশ্যই হবে 123456):

UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='mousavi';  

এই মুহুর্তে পরিবর্তনগুলি প্রয়োগ করতে আপনার একটি ফ্লাশ করতে হবে:

FLUSH PRIVILEGES;

সম্পন্ন! আপনি কোনও স্টপ ছাড়াই বা মাইএসকিএল পরিষেবাটি পুনরায় চালু না করেই এটি করেছেন।


5

মাইএসকিএল চলছে এমন সার্ভারে যদি আপনার রুট অ্যাক্সেস থাকে তবে এই কমান্ডটি ব্যবহার করে মাইএসকিএল সার্ভারটি বন্ধ করা উচিত

sudo service mysql stop

এখন এই কমান্ডটি ব্যবহার করে mysql শুরু করুন

sudo /usr/sbin/mysqld --skip-grant-tables  --skip-networking &

এখন আপনি মাইএসকিএল ব্যবহার করে লগইন করতে পারেন

sudo mysql
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

সম্পূর্ণ নির্দেশাবলী এখানে পাওয়া যাবে http://www.techmatterz.com/recover-mysql-root-password/


3

বিদ্যমান ব্যবহারকারী ব্যবহার করে উইন্ডোজ সেমিডি থেকে মাইএসকিউএল লগইন করুন:

mysql -u ব্যবহারকারীর নাম -p
পাসওয়ার্ড লিখুন: ****

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

mysql> SELECT * FROM mysql.user;

এর পরে সংশ্লিষ্ট ব্যবহারকারীর জন্য এনক্রিপ্ট করা এমডি 5 পাসওয়ার্ডটি অনুলিপি করুন এবং ওয়েবে বেশ কয়েকটি অনলাইন পাসওয়ার্ড ডিক্রিপ্টেড অ্যাপ্লিকেশন রয়েছে। এই ডিক্রিপ্ট পাসওয়ার্ডটি ব্যবহার করে এবং পরের বারে লগিনের জন্য এটি ব্যবহার করুন। বা প্রবাহিত কমান্ড ব্যবহার করে ব্যবহারকারীর পাসওয়ার্ড আপডেট করুন:

mysql> UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

তারপরে নতুন পাসওয়ার্ড এবং ব্যবহারকারী ব্যবহার করে লগইন করুন।


0

যদি আপনার ওডিবিসি সেট আপ হওয়ার ঘটনা ঘটে তবে আপনি ওডিবিসি কনফিগারেশন ফাইল থেকে পাসওয়ার্ডটি পেতে পারেন। এটি লিনাক্সের জন্য /etc/odbc.ini এবং উইন্ডোজের রেজিস্ট্রি সফ্টওয়্যার / ওডিবিসি ফোল্ডারে রয়েছে (বেশ কয়েকটি রয়েছে - এটি কিছুটা শিকার নিতে পারে)


0

ফাইলটি সংরক্ষণ করুন। এই উদাহরণস্বরূপ, ফাইলটির নাম দেওয়া হবে সি: \ mysql-init.txt। এটি ফাইলটি সংরক্ষণের জন্য প্রশাসনিক অনুমতি চেয়েছে


-1

কঠোর, লজিক্যাল, কম্পিউটার science'ish অপ প্রশ্নের ব্যাখ্যা প্রয়োজন হবে যদিও উভয় "আমি আমার মাইএসকিউএল ব্যবহারকারীর নাম কিভাবে উদ্ধার না" এবং "পাসওয়ার্ড" - আমি ভেবেছিলাম এটি মোকাবেলার কাউকে সহায়ক হতে পারে বা ব্যাখ্যাটিকে । অন্য কথায় ...

1) আমি কীভাবে আমার মাইএসকিউএল ব্যবহারকারীর নামটি পুনরুদ্ধার করব?

অথবা

2) পাসওয়ার্ড

এই উত্তরোত্তর শর্তটি ইতিমধ্যে সুস্পষ্টভাবে সম্বোধিত হয়েছে বলে আমি মনে করি এটির সাথে বিরক্ত করব না। "আমি কীভাবে আমার মাইএসকিউএল ব্যবহারকারী নামটি পুনরুদ্ধার করব" এই মামলার সমাধান নীচে দেওয়া হয়েছে alone HIH।

আপনার mysql ব্যবহারকারীর নামটি খুঁজে পেতে mysql শেল থেকে নিম্নলিখিত কমান্ডগুলি চালনা করুন ...

Mysql.user থেকে ব্যবহারকারী নির্বাচন করুন;

এটি সমস্ত মাইএসকিএল ব্যবহারকারীদের একটি সারণী প্রিন্ট করবে।


1
এটি একটি দেরী উত্তর এবং আপনার সমাধানগুলি ইতিমধ্যে পোস্ট করা বা স্বীকৃত থেকে পরিষ্কারভাবে আলাদা হলে আপনার এই পোস্ট করা উচিত। এটি এই ক্ষেত্রে নয়, বিশেষত আপনার উত্তর কোনও গৃহীত উত্তরটির সদৃশ।
এম.এসকিআর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.