مرکز آموزش تهران هاست

حرفه ای تر شوید

زمانی که خطا 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 شما است.

منبع : مرکز آموزش دایرکت ادمین

1 دیدگاه

  1. محمد جواد مافی

    از صحت نام کاربری و رمز خود در اسکریپت پی اچ پی مطمئن شوید. توجه داشته باشید که نام کاربری شما در برنامه ی xampp عبارت root می باشد و قسمت پسورد را نیز باید خالی بگذارید.
    در صورتی که مشکل شما ادامه داشت احتمالا مشکل از اسکریپت شماست

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

نشانی ایمیل شما منتشر نخواهد شد.