
我試圖安裝自製程式並且非常非常愚蠢地這樣做了:
sudo chown -R $USER /usr/local
Homebrew 說明說要這樣做,而我不是一個系統管理員,所以我相信他們的話。學到的教訓(雖然我真的不知道如何測試這個......似乎“撤消”腳本在這裡非常有價值)
無論如何,已經完成了,但現在我收到此錯誤:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 548
Server version: 5.1.33 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)
我嘗試 chown-ing 返回 root,但沒有成功。有誰知道如何在不重新安裝 mysql 的情況下解決這個問題?或者,如果我必須重新安裝 mysql,如何在不存取命令列的情況下轉儲資料庫,這樣我就不會丟失所有資料。
謝謝!
答案1
找到 mysql 的資料目錄,並將其 chown 給 MySQL 的使用者(通常是 mysql:mysql)...
答案2
確定 mysql 正在運行的用戶(我使用ps aux |grep mysql
,但你的 ps 標誌可能不同),找到 mysql 的安裝位置(我的在 ps 結果中顯示為--datadir=/usr/local/mysql/data
,但你可能需要你的屏幕足夠寬,這樣它就不會被截斷命令),然後將所有權變更回正確的使用者。
答案3
$ cd /usr/lcoal/mysql/
$ ls -l
$ sudo -R chown mysql:mysql data/
data/
是一個目錄/usr/local/mysql/
,其下包含所有資料庫。
現在就做吧mysql -u user -p password
。您可以存取您的資料庫