شما برای مطالعه این مقاله فقط 6 دقیقه وقت نیاز دارید

change-root-mysql-database

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

اگر شما هم جزو اکثر کسانی هستید که MySQL را برای مدیریت پایگاه داده اپلیکیشن یا وبسایت خود انتخاب کرده اید و به هر دلیلی دوست دارید با تغییر پسورد root دیتابیس MySQL سطح امنیت اپلیکیشن خود را بالا ببرید، در جای درستی هستید.

با اینکه نداشتن پسورد یک راه حل بسیار ساده و راحت است ولی مطمئناً که از لحاظ امنیتی، ایده چندان مناسبی نیست. شما باید با استفاده از یک رمز مناسب از داده های خود محافظت کنید و نگذارید که هر کسی به آنها دسترسی پیدا کند.

در این مقاله آموزشی، روش های تنظیم، ریست و تغییر پسورد root دیتابیس MySQL را در اختیار شما قرار می دهیم تا بدون هیچگونه نگرانی، نسبت به ارتقا سطح امنیت پایگاه داده خود اقدام کنید.

چرا باید پسورد root دیتابیس MySQL را جدی بگیریم؟

در حالت کلی چند کاربر به طور همزمان می توانند به پایگاه داده MySQL دسترسی داشته باشند ولی مطمئناً که امتیازات و سطح دسترسی آنها با هم متفاوت است. اما کاربر روت دسترسی کاملی به تمام بخش های دیتابیس دارد و مجاز به انجام عملیات مهمی مثل حذف جدول ها و داده ها است.

در حالت پیش فرض، پسوردی برای کاربر روت دیتابیس MySQL تنظیم نشده است و هر کس تنها با وارد کردن نام کاربری (root) می تواند به دیتابیس دسترسی پیدا کند که این برای یک وبسایت یا اپلیکیشن فاجعه محسوب می شود.

با این اوصاف، رمز root دیتابیس MySQL نیاز به دقت دارد و هر چقدر که رمز دیتابیس شما قوی تر باشد، سطح امنیت داده های شما بالاتر خواهد بود.

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

پیش نیازهای لازم جهت تغییر پسورد

  • پایگاه داده MySQL
  • دسترسی به سرور لینوکس یا ویندوز
  • امتیازات ادمین
  • ویرایشگر متن ( مثلاً Notepad برای ویندوز و Vim برای لینوکس)
  • دسترسی به CMD یا ترمینال

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

فرقی نمی کند که برای اولین بار است که میخواهید رمز مناسبی را برای دیتابیس MySQL خود تنظیم کنید یا اینکه می خواهید رمز قبلی خود را تغییر دهید. مخصوصاً که اگر رمز قبلی خود را فراموش کرده اید، به دنبال ریست رمز خود هستید، روش زیر برایتان بسیار کارساز است.

 کافیست مراحل زیر را دنبال کنید:

مرحله 1. متوقف سازی سرویس MySQL

روی استارت کلیک کنید و کنترل پنل را باز کنید.باز کردن کنترل پنل

Administrative Tools را انتخاب کنید و از بخش Services، سرویس مربوط به MySQL را پیدا کنید و آن را متوقف کنید.کلیک روی سرویس ها متوقف کردن mysql قبل از تغییر پسورد root دیتابیس MySQL

مرحله 2. ایجاد فایل متنی

ویرایشگر دلخواه خود ترجیحاً Notepad را باز کنید.باز کردن نوت پد

متن زیر را وارد کنید:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

البته در قسمت NewPassword، پسورد موردنظر خود را وارد کنید و همچنین، توجه داشته باشید که وجود localhost در دستور بالا باعث می شود که پسورد root دیتابیس MySQL فقط در سیستم محلی تغییر پیدا کند و اگر دوست دارید که این تغییر در سراسر شبکه اتفاق بیافتد، نام هاست را جایگزین localhost کنید.

بعد، این فایل را با اسم mysql-init یا هر اسم دلخواه دیگر در درایو C ذخیره کنید. مسیر آن باید به صورت زیر باشد:

C:\mysql-init.txt

ذخیره سازی فایل رمز

مرحله 3. ری استارت مجدد MySQL با فایل پیکربندی جدید

CMD را به صورت Run as Administrator باز کنید و با دستور cd به مسیر فولدر bin سرور MySQL خود بروید:باز کردن دایرکتوری mysql

دستور زیر را وارد کنید:

mysqld --init-file=C:\\mysql-init.txt

حتماً توجه داشته باشید که مسیر فایل را با دو اسلش مشخص کنید.

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

بعد از اینکه تغییر پسورد روت دیتابیس MySQL با موفقیت انجام شد، می توانید فایل mysql-init.txt را حذف کنید.

کلیک کنید  حمله سایبری چیست؟ آشنایی با انواع حملات سایبری شایع

یک روش ساده تر:

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

وقتی ویزارد MySQL را نصب می کنید، یک کلاینت هم همراه آن نصب می شود.

برای تغییر پسورد روت، این کلاینت را باز کنید:باز کردن کلاینت برای تغییر پسورد root دیتابیس MySQL

رمز خود را وارد کنید و اینتر را بزنید. (اگر هم فعلاً رمزی ندارید، فقط Enter را بزنید):

بعد که خط فرمان mysql باز شد، دستور زیر را وارد کنید تا تغییر پسورد root دیتایس MySQL انجام شود:

 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

تغییر رمز

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

در سیستم های لینوکس هم روال به همان ترتیب است، منتها یک سری محدودیت ها برای کاربران وجود دارد. به این صورت که وقتی سیستم لینوکس خود را بوت می کنید باید مطمئن باشید که به عنوان کاربری وارد شده اید که همیشه MySQL را اجرا می کند.

اگر هم به عنوان کاربر روت وارد شده اید، حتماً باید در دستور mysqld از آپشن user=mysql– استفاده کنید تا در اجرای دستورالعمل ها مشکلی پیش نیاید.

مرحله 1. متوقف سازی سرویس MySQL

بعد اینکه به عنوان کاربر سرور MySQL وارد سیستم خود شدید، باید سرویس Mysql را متوقف کنید که برای این کار دو راه دارید.

  1. فایل این سرویس دارای فرمت .pid است، پس مسیرهای /var/lib/mysql/، /var/run/mysqld/ یا /usr/local/mysql/data/ را بگردید و فایلی را پیدا کنید که با mysqld یا نام هاست شما شروع می شود. بعد مسیر آن را در دستور زیر لحاظ و آن را اجرا کنید:
kill `cat /mysql-data-directory/host_name.pid`
  1. از دستور systemctl استفاده کنید:
sudo systemctl stop mysql

مرحله 2. ایجاد فایل متنی رمز

با دستور زیر، ویرایشگر vim را باز کنید:

sudo vim

خط زیر را به فایل اضافه کنید و آن را در مسیر home کاربر موردنظر ذخیره کنید.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

مرحله 3. اجرای MySQL با فایل جدید

برای اینکه تغییر پسورد root دیتابیس MySQL با موفقیت انجام شود، باید دستور mysqld را به صورت زیر اجرا کنید:

mysqld --init-file=/home/user/mysql-init

بعد از اجرای این دستور، رمز شما با موفقیت تغییر می کند و کافیست با رمز جدید خود وارد سرور MySQL شوید و مطمئن شوید که همه چیز درست پیش رفته است.

البته، این بستگی به نحوه راه اندازی سرور شما هم دارد که قبل از دستور init از گزینه های دیگری مثل defaults-file استفاده کنید یا نه.

این روش برای تغییر رمز بود. بله تغییر رمز! زمانی که رمز قبلی خود را به یاد دارید ولی اگر رمز قبلی خود را فراموش کرده باشید هم باز می توانید رمز جدیدی لحاظ کنید. کافیست مراحل زیر را دنبال کنید:

سرویس MySQL را با دستور زیر متوقف کنید:

sudo service mysql stop

با اجرای دستور زیر MySQL را طوری ری استارت کنید که نیازی به رمز روت نداشته باشد و با آپشن skip-networking هم دسترسی های ریموت را غیرفعال کنید:

sudo mysqld_safe –skip-grant-tables –skip-networking &

بعد با استفاده از دستور زیر به کاربر روت MySQL متصل شوید:

mysql -u root

اکنون که خط فرمان mysql باز شده است، دستورات زیر را به ترتیب اجرا کنید:

mysql> use mysql;

mysql> update user set authentication_string=password('NEWPASSWORD') where user='root';

mysql> flush privileges;

mysql> quit

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

killall mysqld
systemctl start mysql

حتماً حتماً پسورد سخت و پیچیده ای را برای کاربر روت MySQL درنظر بگیرید. پایگاه داده های شما حاوی اطلاعات حساسی هستند که اگر در عرض یک لحظه غفلت از بین بروند، می توانند کل کسب و کار یا پروژه شما را به نابودی بکشانند.

کلام آخر

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

از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.

سوالات متداول:

این دستور باعث می شود که برای اتصال به سرور Mysql نیازی به رمز نداشته باشید که این مورد برای دسترسی های ریموت خطرناک است. اگر حتماً باید از این گزینه استفاده کنید، بهتر است با آپشن –skip-networking دسترسی های ریموت را غیر فعال کنید.

مطالب مشابهی که شاید علاقمند باشید

من زهرا پیرجانی دانشجوی رشته نرم افزار هستم. علاقه ای که به یادگیری مطالب جدید دارم باعث شد که انگیزم برای فعالیت در حوزه تولیدمحتوا بیشتر شود. تمام تلاشم این است که با درک کامل موضوع، محتوایی ساده و کامل تهیه کنم که برای همه علاقمندان مفید و کاربردی باشد. یادگیری مطالب جدید و آموزش اونها به بقیه، بهترین کاری هست که می توانم برای رشد خودم و همچنین کمک به رشد علاقمندان به مباحث مورنظر انجام بدم.

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید