Mysql
如何在不輸入空密碼的情況下連接到 mysql?
我剛剛安裝了 MySQL,預設情況下 root 使用者沒有密碼。如果我用這個命令連接:
mysql --port=3307 --host=127.0.0.1 -uroot -p
它要求我輸入密碼,我只需按輸入鍵,它就會連接我。但是,我想通過以非互動方式將語句傳遞給它來製作腳本的這一部分,如下所示:
echo "$statement" | mysql --port=3307 --host=127.0.0.1 -uroot -p
但是,當我真正這樣做時,它仍然要求我輸入密碼。我如何讓它不要求輸入密碼,而只是不使用密碼?
我嘗試刪除-p,並收到以下消息:
$ mysql --port=3307 --host=127.0.0.1 -uroot ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
我希望會有某種 –nopassword 參數,但我找不到。
原來答案實際上是使用 -p - 長版本允許您將其設置為空,如下所示:
mysql --port=3307 --host=127.0.0.1 -uroot --password=
如果您的 MySQL 客戶端/伺服器版本是 5.6.xa 避免
WARNING
消息或放置的方式password in command line
,您可以使用mysql_config_editor工具:mysql_config_editor set --login-path=local --host=localhost --user=username --password
然後你可以在你的 shell 腳本中使用:
mysql --login-path=local -e "statement"
代替:
mysql -u $Username -p$Pass -e "statement"