我是MySql的新手。在postgres中,我們可以使用.pgpass並保存用戶密碼,以便數據庫在您訪問或執行您的sql腳本時可以自動驗證您的密碼。我不必輸入密碼。在mysql中自動驗證密碼
那麼有什麼辦法可以在linux上爲mysql做同樣的事情嗎?
感謝
我是MySql的新手。在postgres中,我們可以使用.pgpass並保存用戶密碼,以便數據庫在您訪問或執行您的sql腳本時可以自動驗證您的密碼。我不必輸入密碼。在mysql中自動驗證密碼
那麼有什麼辦法可以在linux上爲mysql做同樣的事情嗎?
感謝
是的,你可以存儲默認憑據,並在你的home目錄中的其他選項,在一個叫$ HOME文件/ .my.cnf
$ cat > $HOME/.my.cnf
[client]
user = scott
password = tiger
host = mydbserver
^D
在MySQL 5.6,你還可以存儲加密版本該文件中$ HOME/.mylogin.cnf,請參閱http://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html
$ mysql_config_editor set --user=scott --host=mydbserver --password
Enter password: ********
WARNING : 'client' path already exists and will be overwritten.
Continue? (Press y|Y for Yes, any other key for No) : y
$ mysql_config_editor print --all
[client]
user = scott
password = *****
host = mydbserver
非常感謝。你的第一種方法只能找到。不過,我更喜歡第二個。但是,運行該命令後會出現'mysql_config_editor:command not found'。不知道有什麼問題。這是我的mysql版本'mysql Ver 14.14 Distrib 5.5.32,對於使用readline 6.2'的debian-linux-gnu(x86_64),運行'mysql --version'。 – novo
mysql_config_editor是MySQL 5.6的一項新功能。我將編輯上述內容以使其更清楚。 –
在MySQL 5.5中,您無法獲得加密的.mylogin.cnf功能。您應該小心限制$ HOME/.my.cnf上的文件權限。 –
你可以使用一個快速的bash腳本中使用MySQL的可執行程序的命令行參數來實現這一點。詳情請參閱http://dev.mysql.com/doc/refman/5.6/en/mysql.html查詢 。基本上,下面一行將讓您登錄到MySQL
$>mysql --user=root --password=toor my_database
上面的命令將使用密碼「托爾」
現在您登錄到MySQL數據庫「MY_DATABASE」爲根,但是到這個快速bash腳本(run_mysql.sh):
#!/bin/bash
/usr/bin/mysql --user=root --password=toor my_database
確保腳本是可執行的:
chmod +x ./run_mysql.sh
當然,請確保將此腳本安全地存儲在其他用戶無法訪問的地方,例如您的主文件夾並相應地設置權限。
謝謝,但這不是通用技術。如果我想與其他數據庫一起工作,我將不得不更改數據庫名稱。不過謝謝。 – novo
這是否幫助? http://www.linuxjournal.com/node/1001956 –
試了10次,並有這個錯誤'錯誤1045(28000):訪問拒絕用戶'用戶'@'localhost'(使用密碼:否)',但它的工作原理當我使用以下命令'mysql -u username -p database'。之後我必須輸入密碼。 – novo