SymptomsPOA cannot operate MySQL databases - create new databases/users, remove existing ones, change users' passwords.
POA 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.39.94.106:3306. Service specific error message: Access denied for user 'root'@'10.39.94.10' (using password: YES).
CauseThe possible reasons of problem
- MySQL root password was changed directly in MySQL server and POA database was not adjusted after that
- MySQL server does not allow POA management node to connect to database under user 'root'
To check the problem #1 do the following:
- Log into POA 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 server is installed on physical server - Top > Deployment Director > Server Manager > Hardware Nodes > click on the needed server
- Switch to the tab Packages
- 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
- 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 POA Control Panel then it means password of MySQL user root was changed directly in MySQL and POA database has to be adjusted.
Otherwise, it is worth to check connection permissions in MySQL server.
If password of MySQL root user was changed directly in MySQL then the password must be updated in POA. Follow the instructions in the Parallels Knowledgebase article http://kb.sp.parallels.com/en/116445 to update password in POA.
If you can connect to MySQL using password found in POA Control Panel then try to adjust connection permissions in MySQL server, use the following queries:
mysql> GRANT ALL PRIVILEGES ON *.* to root@POA_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 POA_MN_IP with the backnet IP address of the POA Management Node, replace NEW_PASSWORD with the password found in POA Control Panel.