is there a way to secure a mysql-server so no one can reset a password via --init-file-startup?

there should only be a:

  • "root" user (password not known to anyone else than person a)
  • "system" user (no password, full access to one database restricted to localhost-connection)
  • "reader" user (password, read only access to the "one" database and no host-restrction)

and absolutely no way to bypass this setting.

i did not find a way till now - but maybe there is a hidden one.

thank you!

  • 1
    As far as I know there is no way to do this. The closest thing you could get is to lock the file, set the permissions to be only writeable by the root user of the system (which you should have disabled btw) and then just use regular grant permissions on the users. Commented Feb 21, 2017 at 14:58

2 Answers 2


As indicated there is no option.

The person that has the ability to trigger the mysqld with --init-file is either root or the mysql user who can overwrite all of the mysqldatadir including all permission tables of the mysql. That is why there isn't even a considered option to achieve this.


you could use mysql_config_editor, this command creates a hidden file with all your connection parameters placed in this file and you dont need anymore put this parameters in console client

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.