Hello,
i have a problem with mysql datasource.
When i create a new user over RDM with mysql root user and i would access the datasource with the new user, i haven't any rights to access the database.
When i do this form another computer it works fine. But only for normal users. When i go to create an administrator, the administrator haven't any rights to create new users.
Can you tell me what's wrong?
Or is it necessary to grant the rights manually in the mysql user database?
MySQL Version: 5.6.12
Thank you very mouch.
edited by Sebastian92 on 2/12/2014
Hi,
Have a look at the application logs (Help -> View Application Logs) you should see a few MySQL exceptions. Please post then here for analysis.
When creating RDM users we issue the following MySQL commands (see below) therefore any RDM admin should have appropriate MySQL privileges to allow the calls to succeed, any failures are logged to the application logs.GRANT ALL PRIVILEGES ON or REVOKE ALL PRIVILEGES ON GRANT RELOAD ON *.* TO or REVOKE RELOAD ON *.* FROM GRANT SELECT, INSERT, DELETE, UPDATE ON GRANT EXECUTE ON flush privileges
Stéfane Lavergne
Thank you for the fast answer.
I can create the new Administrator without any error message. In the application log isn't any error message.
But when i go to create a new user with the new admin user i get the following error message:
"[12.02.2014 14:31:04 - 9.1.2.0]ERROR MySql.Data.MySqlClient.MySqlException: SELECT command denied to user 'admin'@'admin-computer' for table 'user' at MySql.Data.MySqlClient.MySqlStream.ReadPacket() at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int32& insertedId) at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int32& insertedId) at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) at MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) at MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar() at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ExecuteScalar(String sql, IDbTransaction dbTransaction, IDbDataParameter[] parameters) at Devolutions.RemoteDesktopManager.Business.DataSources.MySQLSecuritySubDataSource.ExecuteBoolean(IDbTransaction dbTransaction, IDbDataParameter[] dbDataParameters, String sql) at Devolutions.RemoteDesktopManager.Business.DataSources.MySQLSecuritySubDataSource.UserExists(String userName, Boolean integratedSecurity, IDbTransaction dbTransaction) at Devolutions.RemoteDesktopManager.Business.DataSources.MySQLSecuritySubDataSource.SaveUserInfo(UserInfo userInfo, Boolean editMode, String password, SaveUserInfoCustomData customData, Guid[] userGroupInfos)"
And after creation of the admin user, it has only the right "Reload_priv=Y" in the user database.
Have you any advice?
Thank you.
edited by Sebastian92 on 2/12/2014
I will have to investigate. It looks like we have an issue of not granting sufficient MySQL rights when creating an RDM admin. I will get back to you.
Stéfane Lavergne
If you want your RDM Admin to also be able to create new users then you will need to grant that user super_priv.
This should do the trick.GRANT ALL ON *.* TO 'user_name'@'%' WITH GRANT OPTION;We will change the RDM code to automatically make RDM admins MySQL Super_priv users in the next release.
Stéfane Lavergne