OA cannot operate MySQL databases - creating new databases/users, removing existing ones, changing users' passwords. OA tasks Create database, Drop database, Drop database user, Change password of user fail with the error like shown below:
Can't connect to MySQL database service on 10.1.1.1:3306. Service specific error message: Access denied for user 'root'@'10.1.1.1' (using password: YES).
The possible reasons of problem:
MySQL root password was changed directly in MySQL server and OA database was not adjusted after that. To verify the cause, please do the following:
- Log into OA Provider Control Panel
- Go to the properties of problem MySQL server (you may see its IP address in the failed task)
- If MySQL server is installed in PVC container - Top > Service Director > Virtuozzo Manager > VPSs > click on the needed server
- If MySQL ** is installed on physical server - Top > Deployment Director > Server Manager > Hardware Nodes > click on the needed server
- Switch to the tab Packages and click on the icon right to the MySQL or MySQL5 package depending on the version of MySQL server
- Switch to the tab Package properties
- Remember the value of the parameter Operator password (mysql.password)
Log into MySQL server by SSH and try to connect to MySQL server using user root and password from POA Control Panel:
# mysql -u root -p*********
If you cannot connect to MySQL server using the password from OA Control Panel then it means password of MySQL user root was changed directly in MySQL and OA database has to be adjusted. Otherwise, it is worth to check connection permissions in MySQL server.
- MySQL server does not allow OA management node to connect to database under user 'root'
If password of MySQL root user was changed directly in MySQL then the password must be updated in OA. Follow the instructions from the article article https://kb.cloudblue.com/en/116445 to update password in OA.
If you can connect to MySQL using password found in OA Control Panel then try to adjust connection permissions in MySQL server, use the following queries:
mysql> GRANT ALL PRIVILEGES ON *.* to root@OA_MN_IP IDENTIFIED BY 'NEW_PASSWORD' WITH GRANT OPTION; Query OK, 0 rows affected (0.02 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec)
Replace OA_MN_IP with the backnet IP address of the OA Management Node, replace NEW_PASSWORD with the password found in OA Control Panel.