2010-10-02 101 views
19

我在ubuntu服務器上安裝了mysql並沒有指定密碼。當我做即使我的密碼爲空,mysql仍然提示輸入密碼

mysql -u root -p 

它提示輸入密碼,並沒有提供任何輸入,我只是打入輸入,它的工作原理。

現在我需要使用cron作業在數據庫上執行一些操作。我的cron作業不起作用,因爲mysql提示輸入密碼。我試着做

mysql -u root -p'' my_database 

但這也沒有工作。

有什麼建議嗎?

回答

17

不要求mysql提示輸入密碼'mysql -u myuser'。我建議你創建一個只有所需權限的帳戶來執行此操作。同時限制其對本地主機的訪問。在根上輸入密碼。

+1

+1,這在技術上是用戶正在尋找的答案。爲了不讓MySQL提示輸入密碼,不要設置'-p'。 – wuputah 2010-10-02 02:24:04

+0

wuputah你是對的。當我不想設置密碼時,請勿要求我設置密碼。 – 2010-10-02 05:59:45

+0

我建議你使用良好的安全性。無密碼運行root是高風險的。至少限制對本地系統的訪問。沒有密碼帳戶的最佳做法是訪問最少。 – BillThor 2010-10-02 22:30:06

0

爲什麼不給root指定密碼?出於安全原因,你的腳本可以工作。

+0

我同意,只是實際設置一個root密碼,然後指定的代碼應該工作正常。 – Cole 2010-10-02 01:29:38

+0

更好的是,OP應該創建一個非root用戶,併爲新用戶授予有問題的數據庫訪問權限。 – luckytaxi 2010-10-02 01:47:59

0

Mysql的「root」帳戶應該有一個密碼;否則在您的計算機上擁有帳戶的任何人都可以完全訪問數據庫。

  1. Set a password(例如用SET PASSWORD)
  2. 如果您想了解更多理智的身份驗證選項添加密碼~/.my.cnf

,我推薦的Postgres。

60

去這樣mysql -u root --password="" dbname

+9

這是問題的正確答案。是的問題作者和我,也許任何人看着這個線程知道你不應該有空密碼,但問題是如何做到這一點,如果我們真的想要空密碼,這完美的作品。注:MYSQL版本5.5.25a – PSIXO 2014-04-17 13:45:32

12

我安裝Ubuntu的服務器上的MySQL並沒有指定密碼。當 我做

mysql -u root -p 

-p帶來了密碼提示。如果你沒有密碼,那麼你不想這樣做。

只要寫:

mysql -u root 

爲了上帝的愛,該帳戶獲得口令!

1

檢查MySQL文檔以瞭解如何重置密碼,因爲我找不到輸入密碼的方法。你可以使用以下方法:http://dev.mysql.com/doc/mysql-windows-excerpt/5.0/en/resetting-permissions-windows.html 其中規定,你必須創建具有以下查詢文件:

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; 
FLUSH PRIVILEGES; 

然後用--init-file參數啓動mysqld服務(見文檔的詳細信息對這個)。這應該重置您的root密碼。

+0

MySQL不區分「無密碼」和「空密碼」。 – 2014-01-20 13:51:05