تغییر پسورد کاربر در MySQL

نحوه تغییر پسورد کاربر در MySQL به همراه مثال

MySQL یک پلتفرم محبوب منبع باز مدیریت پایگاه های داده است که قابلیت های زیادی را در اختیار شما می گذارد و به همین خاطر کاربران زیادی به نصب MySQL روی ویندوز می پردازند. گاهی ممکن است قصد تغییر پسورد کاربران خود را داشته باشید، در این آموزش، نحوه تغییر پسورد کاربر در MySQL را با دستور های: UPDATE، SET PASSWORD و ALTER USER یاد خواهید گرفت. پس تا انتهای این پست همراه ما باشید.

نحوه تغییر پسورد کاربر در MySQL

قبل از تغییر پسورد کاربر در MySQL، باید سوالات مهم زیر را در نظر بگیرید:

  • قصد تغییر پسورد کدام کاربر را در MySQL دارید؟
  • چه برنامه ای از حساب کاربری که رمز عبور آن در حال تغییر است استفاده می کند؟ چرا که اگر رمز عبور را بدون تغییر رشته اتصال برنامه ای که از حساب کاربری استفاده می کند تغییر دهید، برنامه نمی تواند به سرور پایگاه داده متصل شود.

پس از پاسخ به این سوالات می توانید تغییر پسورد کاربر در MySQL را شروع کنید.

MySQL دستورات مختلفی را ارائه می دهد که می توانید از آن ها برای تغییر رمز عبور یک کاربر استفاده کنید، از جمله دستورات: UPDATE، SET PASSWORD و GRANT USAGE که در ادامه به نحوه تغییر پسورد کاربر در MySQL به کمک هر یک از این دستورات می پردازیم.

تغییر پسورد کاربر در MySQL با استفاده از دستور UPDATE

اولین راه برای تغییر رمز عبور استفاده از دستور UPDATE برای به روز رسانی جدول کاربری پایگاه داده mysql است. پس از اجرای دستور UPDATE، برای بارگذاری مجدد امتیازات از جدول grant در پایگاه داده mysql، باید دستور FLUSH PRIVILEGES را نیز اجرا کنید. فرض کنید می خواهید رمز عبور کاربر dbadmin را که از لوکال هاست به dolphin متصل می شود تغییر دهید، باید دستورات زیر را اجرا کنید:

USE mysql;

UPDATE user 
SET password = PASSWORD('dolphin')
WHERE user = 'dbadmin' AND 
      host = 'localhost';

FLUSH PRIVILEGES;

توجه داشته باشید که در MySQL 5.7.6، جدول کاربر فقط از ستون authentication_string برای ذخیره رمز عبور استفاده می کند. بنابراین اگر از MySQL 5.7.6 استفاده می کنید، باید به جای آن، از ستون authentication_string در دستور UPDATE استفاده کنید:

USE mysql;

UPDATE user 
SET authentication_string = PASSWORD('dolphin')
WHERE user = 'dbadmin' AND 
      host = 'localhost';

FLUSH PRIVILEGES;

توجه داشته باشید که تابع ()PASSWORD مقدار hash را از یک متن ساده محاسبه می کند.

تغییر پسورد کاربر با استفاده از دستور SET PASSWORD

راه دوم برای تغییر رمز عبور استفاده از دستور SET PASSWORD است. شما از حساب کاربری در قالب user@host برای به روز رسانی رمز عبور استفاده می کنید. اگر نیاز به تغییر گذرواژه برای سایر حساب‌ ها دارید، حساب شما باید حداقل امتیاز UPDATE را داشته باشد. با استفاده از دستور SET PASSOWORD، نیازی به اجرای دستور FLUSH PRIVILEGES برای بارگیری مجدد امتیازات از جداول اعطایی ندارید. عبارت زیر رمز عبور حساب کاربری dbadmin را با استفاده از دستور SET PASSWORD تغییر می دهد.

SET PASSWORD FOR 'dbadmin'@'localhost' = PASSWORD('bigshark');

توجه داشته باشید که در نسخه 5.7.6 MySQL این دستور کارایی قبل را ندارد و ممکن است در نسخه های بعدی حذف شود. در عوض، از رمز عبور متن ساده به صورت زیر استفاده می کند:

SET PASSWORD FOR 'dbadmin'@'localhost' = bigshark;

تغییر پسورد کاربر با استفاده از دستور ALTER USER

راه سوم برای تغییر رمز عبور حساب کاربری استفاده از دستور ALTER USER با دستور IDENTIFIED BY است. دستور ALTER USER در بلاک کد زیر، رمز عبور کاربر dbadmin را به littlewhale تغییر می دهد:

ALTER USER dbadmin@localhost IDENTIFIED BY 'littlewhale';

در صورتی که می خواهید رمز عبور root را تغییر دهید، باید سرور پایگاه داده MySQL را مجبور به توقف و راه اندازی مجدد بدون استفاده از اعتبار سنجی جدول اعطایی کنید.

در این آموزش، شما را با دستورات مفیدی آشنا کرده ایم که به شما امکان می دهد رمز عبور حساب کاربری را در پایگاه داده MySQL تغییر دهید.

منبع: mysqltutorial.org

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *