The 'root'@'localhost' MySQL account can only be accessed by someone currently on the server hosting the MySQL server.
Assuming that only the person or persons who are in charge of the MySQL server even have the password to ssh in, and given that the server is hosted on an internal network so that you can't ssh in from outside, is there any reason to put a password on the MySQL server for 'root'@'localhost'?
Reasons not to have a password:
Managing passwords in a volatile system is incredibly cumbersome, with each additional password increasing entropy in the system.
If a password gets lost it can cause a lot of headache.
If someone has
ssh'ed into a machine, and if the root password for the machine is the same as the user they logged in as, they can just start up MySQL without a password anyway.If the server is on a local network, and your only concern is how much damage someone can do to your MySQL server, someone logging in as root while
ssh'ed into the server is the least of your concerns. They could just physically take the hard drive(s), or wreck the machine in any number of ways.
So, despite these reasons stating having a password in this situation would just make things harder without any real benefit, is there a compelling reason to give one to 'root'@'localhost'?