[英]PID error on mysql.server start?
我剛剛嘗試使用自制軟件(在 Mac OS X 10.6 上)安裝 MySQL,但我在第一個障礙中遇到了一個問題。 嘗試手動啟動服務器(mysql.server start)時,出現以下錯誤:
. ERROR! Manager of pid-file quit without updating file.
不幸的是,我不確定要檢查哪些錯誤日志或配置文件,因為我以前從未以這種方式安裝過 MySQL。
我在通過自制軟件安裝時遇到了同樣的問題。 確保您運行這些命令(在安裝過程中列出但很容易錯過):
unset TMPDIR
mysql_install_db
您可能需要確保以root
用戶身份運行 mysql - 否則它將無權寫入 PID 文件(因此您會收到錯誤)。
嘗試這個:
sudo mysql.server start
系統會提示您輸入密碼。 (這假設您的用戶帳戶具有“sudo”權限——它應該如此,除非它在 OS X 中設置為受限用戶帳戶)。
這可能不是唯一的問題——但無論如何它應該讓你進入下一步。
以下兩個命令應該可以解決您的問題。
> unset TMPDIR
> mysql_install_db --verbose --user=\`whoami\` --basedir="$(brew
--prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
我在嘗試使用自制軟件在 Lion 中安裝 MySQL 5.5.15 時遇到了同樣的問題,並通過以下方式解決了該問題:
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
並創建文件 ~/my.cnf
內容:
[mysqld]
basedir=/usr/local/Cellar/mysql/5.5.15
datadir=/usr/local/var/mysql
basedir - 應該是你當前的 MySQL 安裝目錄 datadir - 應該是 MySQL 數據的位置
您可以通過在“brew install mysql”期間觀察 make 命令來找出類似的位置:
-DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/mysql/5.5.15 -DMYSQL_DATADIR=/usr/local/var/mysql -DINSTALL_MANDIR=/usr/local/Cellar/mysql
其中 DCMAKE_INSTALL_PREFIX = basedir 和 DMYSQL_DATADIR = datadir
沒有其他真正的幫助,但以下工作有效:
$ ps aux | grep mysql
tagir 27260 0.0 1.0 3562356 175120 ?? S 2:52PM 0:00.42 mysqld --skip-grant-tables
tagir 42704 0.0 0.0 2434840 784 s000 S+ 3:04PM 0:00.00 grep mysql
$ kill 27260
# Careful! This might erase your existing data
$ rm -rf /usr/local/var/mysql
$ mysqld --initialize
$ mysql.server start
我在這里添加這個是因為我在安裝其他軟件后多次遇到這個問題。 MySQL 工作了好幾天,然后突然我收到這個錯誤。
當我安裝某些東西(例如,elasticsearch 或 Puma Web 服務器)時,似乎會發生這種情況。 MySql 權限再次恢復(返回給我,而不是_mysql
)。 不知道為什么。
所以我發現造成這種情況的一個原因是 MySQL 存儲數據庫的位置的權限,默認情況下,這里是:
/usr/local/var/mysql
如果您查看該文件夾,您將看到一個文件
<your computer name>.err
如果您查看該文件( more
it 或cat
it ),您可能會看到以下錯誤:
[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
如果是這樣,那么您就知道這是一個權限問題。
如果您不在乎,您可以通過運行mysqld
運行 MySQL(並保持該終端打開)。
如果你真的關心:
ls -al /usr/local/var/mysql
您會注意到權限可能都設置給您(您的用戶帳戶)。 這意味着當您使用自制快捷方式sudo mysql.server start
運行 mysql 時,mysql 無法掛載您的數據庫 [即使您使用 sudo 在“管理員”模式下運行]。
因此,更改權限:
$ sudo chown -R _mysql /usr/local/var/mysql
$ sudo chmod -R o+rwx /usr/local/var/mysql
然后它會起作用。
看來無論出於何種原因我都無法在上面的 Immendes 下方發表評論,但是在 10.8.2 和 mySQL 5.6.10 上,除了驗證 db_install 並添加 my.cnf 之外,我還必須 chown -R myusername /tmp/ mysql.sock。
似乎允許 mySQL 在用戶下運行(就像我在 linux 上所做的那樣與 root 或 www 相關)在這方面並不是最好的主意(盡管 Homebrew 可以更新公式 - 超出了我的范圍和時間)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.