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