Answers:
就个人而言,我认为最好设置一个密码并将其保存在/root/.my.cnf中:
第一:
mysqladmin -u root password 'asdfghjkl'
然后编辑根目录的.my.cnf文件:
[client]
password = asdfghjkl
确保chmod 0600 .my.cnf
。
现在,您有了密码,但是不再提示您输入密码。我的默认MySQL服务器安装是每个MySQL服务器完全随机的唯一密码,像这样保存在.my.cnf文件中。
mv ./+%Y%m%d
mysqldump和gzip之间缺少 。$ db.sql $ OUTPUT`
如果您确实为MySQL设置了密码,请按照“ 恢复MySQL根密码”中的说明进行操作,然后将密码设置为null:
对于5.7.6及更高版本
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
对于5.7.5及更早版本
update user set password=PASSWORD("") where User='root';
*需要重新启动数据库(请参阅链接上的说明)才能生效。
sudo service mysql restart
unix_socket
插件的功能略有不同。
是的,减少密码可能是一件好事。但是,不要只是为所有人打开数据库。
通过unix_socket:
grant usage on *.* to 'root'@'localhost' identified via unix_socket;
这为本地登录的root用户提供了无密码的mysql acces。顺便说一句。这是最近的ubuntu / debian版本中的默认设置。
some_user@box: mysql -u root # denied
root@box: mysql # good
some_user@box: sudo mysql # good, if "some_user" has sudo rights.
解释性幻灯片:https : //www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-socket-authentication-and-other-mariadb-hardening-tips。