مرکز آموزش

رفع خطا Access denied for user: da_admin  پرینت این مقاله

زمانی که خطا Error connecting to MySQL: Access denied for user: ‘da_admin@localhost’ (Using password: YES) در صفحه دایرکت ادمین به شما نمایش داده می شود ، این خطا به دلیل درست تنظیم نبودن دیتابیس da_admin است. برای رفع این مشکل کار های زیر را انجام دهید.

رفع خطا Access denied for user: da_admin


در صورتی که رمز روت سرور خود را به خاطر دارید گام اول را انجام ندهید و در غیر اینصورت از دستورات زیر برای تغییر رمز روت mysql در دایرکت ادمین استفاده کنید. توجه داشته باشید ممکن است رمز روت mysql در فایل /usr/local/directadmin/scripts/setup.txt موجود باشد. رمز روت در قسمت “mysql=” وجود دارد. البته این در صورتی است که این فایل را حذف نکرده باشید. اگر این فایل را پیدا نمی کنید باید mysql شما –skip-grant-tables ری استارت شود. این مورد در گام اول توضیح داده شده است (این برای Redhat/CentOS است)

گام اول : تغییر رمز روت mysql در دایرکت ادمین :

نکته : تمام دستور های زیر باید جداگانه وارد شوند

/etc/init.d/mysqld stop
mysqld_safe --skip-grant-tables &

سپس دستورات زیر را برای تغییر رمز root سرویس mysql در دایرکت ادمین وارد کنید. در صورت وجود خطا در خط اول به جای use mysql از mysql استفاده کنید.

use mysql
UPDATE mysql.user SET password=PASSWORD('newpass') WHERE user='root';
FLUSH PRIVILEGES;
quit

به جای newpass باید رمز جدید root مای اسکیو ال را وارد کنید. این رمز را برای انجام دادن گام های بعدی به خاطر بسپارید.

رمز روت mysql دایرکت ادمین شما ریست شده است.

دستور killall -9 mysqld_safe; killall -9 mysqld را برای غیر فعال کردن mysql وارد کنید و با دستور زیر مجدد سرویس mysqld را فعال (start) کنید :

/etc/init.d/mysqld start

گام دوم : تغییر رمز mysql  دیتابیس da_admin با استفاده از رمز روت mysql :

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

mysql -uroot -p

پس از وارد کردن این دستور از شما رمز root سرویس Mysql درخواست می شود.

سپس با دستورات زیر می توانید رمز دیتایس da_admin را تغییر دهید.

GRANT ALL PRIVILEGES ON *.* TO da_admin@localhost IDENTIFIED BY 'Ramz' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

به جای Ramz باید رمز جدید برای این دیتابیس انتخاب کنید و آن را برای گام بعدی به خطار بسپارید.

اکنون رمز دیتابیس da_admin تغییر کرده است و شما باید آن را وارد فایل mysql.conf کنید.

گام سوم : وارد کردن رمز جدید دیتابیس da_admin در فایل /usr/local/directadmin/conf/mysql.conf

دستور زیر را برای ویرایش این فایل وارد کنید :

nano /usr/local/directadmin/conf/mysql.conf

در صورتی که nano روی سرویس شما نصب نبود می توانید از این دستور استفاده کنید :

yum install nano

سپس مانند نمونه کد زیر رمز جدید را وارد کنید.

user=da_admin
passwd=newdapass

به جای newdapass باید رمز جدید دیتابیس da_admin وارد شود.

سپس صفحه دایرکت ادمین خود را مجدد تست کنید.


در برخی از سیستم ها فایل /root/.my.cnf وجود دارد که رمز عبور از پیش تعیین شده دارد. این فایل مقدار تنظیم شده را زیر پا می گذارد. اگر شما یک خطای مشابه در هنگام ایجاد یا بازگردانی دریافت می کنید سعی کنید نام این فایل را تغییر دهید و یا آن را حذف کنید. توجه داشته باشید منظور فایل /etc/my.cnf نیست و این یک فایل ضروری برای mysql شما است.

آیا این پاسخ به شما کمک کرد؟

در همین زمینه

آموزش نصب نرم افزار Ioncube روی سرور های دایرکت ادمین
برای نصب نرم افزار IONCUBE روی سرور های لینوکس با کنترل پنل دایرکت ادمین ابتدا وارد SSH سرور...
خاموش کردن خطا php برای امنیت بیشتر
یکی از روش های که هکر ها برای ورود به sql سایت استفاده می کنند استفاده از خطا سایت می باشد ،...
تغییر Handler به Suphp در دایرکت ادمین
جهت تغییر Handler به Suphp در دایرکت ادمین دستورات زیر را به ترتیب در SSH وارد نمایید :  ...
آموزش نصب وب سرور Nginx بر روی دایرکت ادمین
وب سرور انجین ایکس یکی از وب سرورهای رایگان و قدرتمند است که بسیاری مدیران سرور از آن برای...
آموزش نصب solusvm برای مجازی ساز openvz
قبلا در همین سایت در مورد solusvm توضیح داده ایم (solusvm چیست؟) برای ارائه سرور های لینوکس بهتر...