Đã đăng: 4 năm
When connecting to the MySQL screens in DirectAdmin, if this error appears, that would indicated that the "da_admin" user has not been setup correctly. To resolve this do the following.
Desired root password:
rootpass

Desired da_admin password:
daadminpass


1) Make sure the root mysql password works. If you know it, skip to 2). The mysql root password can be found in the /usr/local/directadmin/scripts/setup.txt if it has not been deleted. It's under the header "mysql=". If it cannot be found, then mysqld will have to be restarted with the --skip-grant-tables option.

For MySQL 5.7 and higher on CentOS/RHEL and Debian/Ubuntu please use:
systemctl stop mysqld
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl start mysqld

For all the other versions of MySQL/MariaDB:
service mysqld stop
mysqld_safe --skip-grant-tables &

That should start up mysql without the need for a root password. Type the following to reset the password now for MySQL 5.7 and higher:
mysql mysql -e "UPDATE mysql.user SET authentication_string=PASSWORD('rootpass') WHERE user='root'; FLUSH PRIVILEGES;"

For all the other versions of MySQL/MariaDB:
mysql mysql -e "UPDATE mysql.user SET password=PASSWORD('rootpass') WHERE user='root'; FLUSH PRIVILEGES;"

That will reset the root password for you. That will reset the root password for you.

For MySQL 5.7 and higheron CentOS/RHEL and Debian/Ubuntu please type the following to unset "--skip-grant-tables" option for the service:
systemctl unset-environment MYSQLD_OPTS
systemctl stop mysqld
systemctl start mysqld
mysql -uroot -p'rootpass' -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootpass';"

For all the other versions of MySQL/MariaDB type:
killall -9 mysqld_safe
killall -9 mysqld
service mysqld start


2) Once the root mysql password is set and known, then you can begin the process of resetting the da_admin mysql user. Type:
mysql -uroot -p

Then press enter. You'll be asked for the password. Once in mysql, type:
GRANT ALL PRIVILEGES ON *.* TO da_admin@localhost IDENTIFIED BY 'daadminpass' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

That should set the password for da_admin in mysql.

3) Now we need to make sure it's setup correctly for DA to use. Edit /usr/local/directadmin/conf/mysql.conf and set
user=da_admin
passwd=daadminpass



4) Test it out in DirectAdmin.


Some system have a /root/.my.cnf file with a preset password. This will override the value set in DA. If you're getting a similar error during backups or restores, try deleting or renaming your /root/.my.cnf so that it doesn't conflict.
Chia sẻ trên dòng thời gian