Enable passwordless access to MySQL
Solution 1:
Personally, I think instead it's better to set a password and save it in /root/.my.cnf:
First:
mysqladmin -u root password 'asdfghjkl'
Then edit root's .my.cnf file:
[client]
password = asdfghjkl
Make sure to chmod 0600 .my.cnf
.
Now you have a password but you're no longer prompted for it. My default MySQL server install is a totally random unique password for each MySQL server, saved in the .my.cnf file like this.
Solution 2:
Yes, less passwords can be a good thing. But don't just open the database for everybody.
via unix_socket:
grant usage on *.* to 'root'@'localhost' identified via unix_socket;
This gives you passwordless mysql acces for a locally logged in root user. Btw. this is the default in recent ubuntu / debian releases.
some_user@box: mysql -u root # denied
root@box: mysql # good
some_user@box: sudo mysql # good, if "some_user" has sudo rights.
Explanatory slides: https://www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-socket-authentication-and-other-mariadb-hardening-tips.
Solution 3:
If you DO have a password set for MySQL, follow the instructions at Recover MySQL root Password, and then set your password to null:
For 5.7.6 and later
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
For 5.7.5 and earlier
update user set password=PASSWORD("") where User='root';
* needs a DB restart (see instructions at the link) for this to take effect.
sudo service mysql restart
Solution 4:
You can also do:
grant all privileges on *.* to 'root'@'localhost' identified by '';
Solution 5:
I'm pretty sure that by default there is no password if your the admin user and accessing it locally. Are you finding something different than that?
Does this work?
#> mysqladmin -u root password ''