منبع اصلی نوشتار زیر در این لینک قرار دارد

چگونه پسورد کاربران را در MySQL تغییر دهیم

برای تغییر پسورد MySQL از دستور mysqladmin استفاده می کنیم. همچنین می توانیم بطور مستقیم رکورد متناظر با کاربر را در جدول user از پایگاه داده mysql بروز (UPDATE) کنیم و یا از phpmysqladmin استفاده کنیم. mysqladmin ابزار مدیریتی است که می توانید از آن برای انجام اعمال مدیریتی، بررسی پیکربندی سرور و همچنین بررسی وضعیت سرور و ایجاد و حذف پایگاه داده ها استفاده کنید. فرمت کلی برای تغییر گذرواژه کاربران بصورت زیر می باشد.

‘mysqladmin -u USERNAME -pCURRENTPASSWORD password ‘NEWPASSWORD

بجای USERNAME نام کاربری که می خواهید پسوردش را عوض کیند . بجای CURRENTPASSWORD پسورد فعلی کاربر و بجای NEWPASSWORD پسورد جدید را قرار دهید. توجه کنید که هیچ فاصله ای میان p- و CURRENTPASSWORD وجود ندارد. راهکار دیگر بروز کردن ستون password از جدول user از پایگاه داده mysql است. برای اینکار یا باید کاربر root در mysql باشید و یا اینکه مجوز UPDATE را روی جدول user (یا ستون password از جدول user) را داشته باشید. فرمت کلی بصورت زیر است.

;’UPDATE mysql.user SET password=PASSWORD(‘NEWPASSWORD‘) WHERE user=’USERNAME

در دستور بالا user نام جدول است. PASSWORD (سبز رنگ) نام تابعی است که رشته ای را می گیرد و HASH شده آنرا باز می گرداند. NEWPASSWORD پسورد جدیدی است که بعنوان رشته ای به تابع PASSWORD فرستاده شده و Hash شده آن در ستون password برای کاربری که با USERNAME مشخص شده، ذخیره می شود.

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

  • روش اول

mysqladmin -u root -poldmypass password newmypass

با دستور بالا پسورد کاربر root از oldmypass به newmypass تغییر می کند.

  • روش دوم

برای تغییر (بروز کردن) مستقیم جدول mysql باید توجه داشته باشید که ممکن است برای یک کاربر (تحت یک نام) ولی از سرور های متفاوتی باشد. بهتر است پیش از آن پرس و جوی زیر را اجرا کنید تا اطلاعات بیشتری حاصل کنید.

;’SELECT user, host, password FROM mysql.user WHERE user=’USERNAME

بطور مثال برای کاربر root

;’SELECT user, host, password FROM mysql.user WHERE user=’root

پس دستور UPDATE بصورت زیر تغییر می کند

;’UPDATE mysql.user SET Password=PASSWORD(‘NEWPASSWORD‘) WHERE User=’USER’ AND Host=’HOSTNAME

بطور مثال برای کاربر root سه خط زیر طبق شکل بالا لازم است.

;’UPDATE mysql.user SET Password=PASSWORD(‘newmypass’) WHERE User=’root’ AND Host=’localhost

;’UPDATE mysql.user SET Password=PASSWORD(‘newmypass’) WHERE User=’root’ AND Host=’127.0.0.1

;’UPDATE mysql.user SET Password=PASSWORD(‘newmypass’) WHERE User=’USER’ AND Host=’linuxsrv2.falearn.ir

  • روش سوم

استفاده از دسستور sql تحت محیط MySQL. با کاربر root وارد محیط MySQL شوید.می توانید مانند دستور اول در هنگام ورود به محبط پایگاه داده mysql را نیز انتخاب کنید و یا مانند شیوه دوم از دستور USE mysql استفاده کنید.

mysql -u root -h HOSTNAME -p mysql

OR

mysql -u root -h HOSTNAME -p

ENTER_PASSWORD

;USE mysql

سپس از دستور SET PASSWORD FOR USERNAME استفاده کنید. توجه کنید که دومین کلمه PASSWORD همان تابع Hash ساز است.

بطور مثال برای کاربری به نام amirnami از دستور زیر استفاده کرده ایم.

اما چرا دو بار دستور SET PASSWORD را اجرا کردیم. چونکه دو رکورد برای کاربری به نام amirnami وجود دارد که هم می تواند از localhost وارد شود و هم از هر جای دیگری می تواند وارد شود.

همچنین برای آشنایی با چگونگی ایجاد کاربران و مفهوم تابع PASSWORD مطلب ” ایجاد کاربران در MySQL و اهدای مجوز به آنها ” را بخوانید.



برچسب ها : ,