كيف يمكنني استرجاع كلمة MySQL اسم المستخدم وكلمة المرور ؟

StackOverflow https://stackoverflow.com/questions/4371

  •  08-06-2019
  •  | 
  •  

سؤال

فقدت الخلية اسم المستخدم وكلمة المرور.كيف يمكنني الحصول عليه ؟

هل كانت مفيدة؟

المحلول

وقف عملية الخلية.

بدء عملية الخلية مع تخطي المنح الجداول الخيار.

تبدأ الخلية وحدة العميل مع -u root الخيار.

قائمة جميع المستخدمين ؛

SELECT * FROM mysql.user;

إعادة تعيين كلمة المرور ؛

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

ولكن لا تنسى إلى

وقف عملية الخلية

بدء عملية الخلية عادة (أيدون --تخطي المنح الجداول الخيار)

عند الانتهاء.خلاف ذلك, قاعدة بيانات الأمن يمكن أن يتعرض للخطر.

نصائح أخرى

للأسف المستخدم كلمة المرور لا يمكن تعويضها.وقد تم تجزئته مع تجزئة طريقة واحدة وهي إذا كنت لا تعرف لا رجعة فيه.أوصي تذهب مع Xenph يان أعلاه مجرد إنشاء واحدة جديدة.

يمكنك أيضا استخدام الإجراء التالي من دليل من أجل إعادة تعيين كلمة المرور لأي MySQL الجذر حسابات على ويندوز:

  1. تسجيل الدخول إلى النظام الخاص بك كمسؤول.
  2. وقف خادم MySQL إذا كان يعمل.على خادم يعمل بنظام التشغيل مثل ويندوز الخدمة ، انتقل إلى مدير الخدمات:

ابدأ -> لوحة التحكم -> Administrative Tools -> Services

ثم العثور على الخلية الخدمة في القائمة ، ثم توقف.إذا كان الخادم الخاص بك هو لا يعمل كخدمة, قد تحتاج إلى استخدام "إدارة المهام" لإجبارها على التوقف.

  1. إنشاء ملف نصي و ضع البيانات التالية في ذلك.استبدال كلمة المرور مع كلمة المرور التي تريد استخدامها.

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

    على التحديث و دافق كل البيانات يجب أن تكون مكتوبة على خط واحد.على التحديث بيان إعادة تعيين كلمة المرور لجميع الجذر الموجودة الحسابات ، دافق البيان يقول الخادم إلى تحديث المنحة الجداول في الذاكرة.

  2. حفظ الملف.على سبيل المثال هذا الملف سوف يكون اسمه C:\mysql-init.txt.
  3. فتح إطار وحدة تحكم الوصول إلى موجه الأوامر:

    ابدأ -> تشغيل -> cmd

  4. بدء تشغيل خادم MySQL الخاص --init-ملف الخيار:

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

    إذا قمت بتثبيت الخلية إلى موقع آخر C:\mysql, ضبط الأوامر وفقا لذلك.

    الخادم ينفذ محتويات الملف المسمى من قبل --init-ملف الخيار عند بدء التشغيل ، وتغيير كل الجذر كلمة مرور حساب.

    يمكنك أيضا إضافة --وحدة التحكم خيار الأمر إذا كنت تريد إخراج الخادم أن تظهر في إطار وحدة التحكم بدلا من ملف سجل.

    إذا قمت بتثبيت الخلية باستخدام MySQL معالج التثبيت, قد تحتاج إلى تحديد --التخلف الملف الخيار:

    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
    

    المناسبة --التخلف الملف الإعداد يمكن العثور عليها باستخدام إدارة خدمات:

    ابدأ -> لوحة التحكم -> Administrative Tools -> Services

    العثور على الخلية الخدمة في القائمة, انقر بزر الماوس الأيمن عليه ثم اختر خصائص الخيار.المسار إلى الملف القابل للتنفيذ حقل يحتوي --التخلف الملف الإعداد.

  5. بعد الخادم قد بدأت بنجاح حذف C:\mysql-init.txt.
  6. وقف خادم MySQL, ثم إعادة تشغيله في الوضع العادي مرة أخرى.إذا كنت تقوم بتشغيل ملقم خدمة بدء تشغيل من ويندوز نافذة الخدمات.إذا كنت بدء تشغيل الملقم يدويا ، استخدام أي الأوامر التي تستخدمها عادة.

يجب أن تكون الآن قادرا على الاتصال إلى الخلية الجذرية باستخدام كلمة المرور الجديدة.

تحسنا الأكثر فائدة الجواب هنا:

1] لا تحتاج إلى إعادة تشغيل خادم mysql
2] الأمن اهتمام خادم MySQL متصل بالشبكة

ليس هناك حاجة إلى إعادة تشغيل خادم MySQL.

استخدام FLUSH PRIVILEGES; بعد التحديث الخلية.المستخدم بيان تغيير كلمة المرور.

دافق بيان الملقم إلى إعادة تحميل منح الجداول في الذاكرة بحيث يلاحظ تغيير كلمة المرور.

على --skip-grant-options تمكن أي شخص من الاتصال بدون كلمة المرور و مع كل الامتيازات.لأن هذا هو غير آمن ، قد ترغب

استخدام --تخطي المنح الجداول بالتزامن مع --تخطي الشبكات لمنع البعيد العملاء من الاتصال.

من:المرجع: إعادة تعيين أذونات-عام

بينما لا يمكنك استرداد مباشرة الخلية كلمة المرور دون bruteforcing, قد يكون هناك طريقة أخرى - إذا كنت تستخدم MySQL Workbench للاتصال قاعدة البيانات ثم حفظ بيانات الاعتماد إلى "قبو" أنت الذهبي.

على ويندوز بيانات الاعتماد المخزنة في %APPDATA%\MySQL\منضدة\workbench_user_data.dat مشفرة مع CryptProtectData (دون أي إضافية الكون).فك تشفير من السهل peasy:

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;
}

أو يمكنك التحقق من هذا DonationCoder الموضوع المصدر + للتنفيذ سريعة وقذرة التنفيذ.

إذا كان لديك وصول الجذر إلى الملقم حيث mysql يعمل يجب عليك التوقف عن خادم mysql باستخدام هذا الأمر

sudo service mysql stop

الآن تبدأ الخلية باستخدام هذا الأمر

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/

تفعل ذلك من دون

تشغيل الأوامر التالية في الطرفية للاتصال DBMS (تحتاج إلى الوصول الجذر):

sudo mysql -u root -p;

تشغيل تحديث كلمة المرور من المستخدم المستهدف (على سبيل المثال اسم المستخدم هو mousavi وانها يجب أن تكون كلمة السر 123456):

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

عند هذه النقطة تحتاج إلى القيام بمسح تطبيق التغييرات:

FLUSH PRIVILEGES;

فعلت!يمكنك فعل ذلك من دون أي إيقاف أو إعادة تشغيل خدمة الخلية.

تسجيل الدخول الخلية من ويندوز cmd باستخدام القائمة المستخدم:

mysql -u username -p
أدخل كلمة المرور:****

ثم قم بتشغيل الأمر التالي:

mysql> SELECT * FROM mysql.user;

بعد أن نسخ مشفرة md5 كلمة مرور المستخدم المطابق وهناك عدة على الانترنت كلمة السر فك التطبيق المتاحة في شبكة الإنترنت.باستخدام هذا فك تشفير كلمة المرور واستخدام هذا من أجل تسجيل الدخول في المرة القادمة.أو تحديث المستخدم كلمة المرور باستخدام تدفق الأوامر:

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

ثم تسجيل الدخول باستخدام كلمة المرور و المستخدم.

على الرغم صارمة, منطقية, علوم الكمبيوتر ' ايش تفسير op السؤال تتطلب سواء "كيف يمكنني استرجاع كلمة MySQL username" و "كلمة السر" - اعتقد انها قد تكون مفيدة لشخص ما أن تعالج أيضا أو التفسير.وبعبارة أخرى ...

1) كيف يمكنني استرجاع كلمة MySQL اسم المستخدم ؟

أو

2) كلمة المرور

هذا الشرط الأخير يبدو أنه قد تم بوضوح موجهة بالفعل لذلك لن تهتم به.التالي هو الحل لهذه القضية "كيف يمكنني لإستعادة بلدي MySQL username" وحده.HIH.

العثور على mysql الخاص بك اسم المستخدم تشغيل الأوامر التالية من الخلية صدفة....

حدد المستخدم من الخلية.المستخدم ؛

فإنه سيتم طباعة الجدول من جميع الخلية المستخدمين.

إذا كنت يحدث أن يكون ODBC إعداد ، يمكنك الحصول على كلمة المرور من ODBC config.هذا هو في /etc/odbc.ini لينكس و البرمجيات/ODBC مجلد في التسجيل في ويندوز (هناك عدة - قد يستغرق بعض الصيد)

نافذة المستخدم, يمكنك متابعة هذا دليل لإعادة تعيين كلمة المرور الخاصة بك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top