Ubuntu

MySQL 未開啟

  • January 21, 2013

我有一個在 Amazon Linux AMI 上執行的亞馬遜 ec2 實例及其一個微型實例。我想將 Django 安裝到我的伺服器上,所以我輸入了這些命令

wget http://www.mlsite.net/blog/wp-content/uploads/2008/11/go
wget http://www.mlsite.net/blog/wp-content/uploads/2008/11/django.conf
chmod 744 go
./go

所以在我完成後,我跑sudo service httpd restartsudo service mysqld restart

這就是 mysqld 的結果:

Stopping mysqld:                                           [  OK  ]
MySQL Daemon failed to start.
Starting mysqld:                                           [FAILED]

所以我刪除了 django 文件/usr/local/python2.6.8/site-packages/django_registration.egg 並嘗試查找錯誤,我發現在我 /etc/my.cnf的套接字中,它說socket=/var/lock/subsys/mysql.sock所以我去了/var/lock/subsys/,但沒有mysql.sock. 我嘗試使用 vim 創建一個,但它仍然無法正常工作。然後我檢查了錯誤日誌,它說

120712 20:33:11 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
120712 20:33:15 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

更新:

我輸入了這些命令:

cd /var/lib/mysql/
touch mysql.sock
chmod +x mysql.sock
chown mysql:mysql -R *

而且還是不行……

所以我現在幾乎迷路了。我知道這有關係mysql.sock

如果您可能知道造成這種情況的原因,請告訴我嗎?我的伺服器上有一個 wordpress 網站,所以我需要 MySQL 才能工作。謝謝!

檢查go您下載並執行的腳本,我發現以下幾行:

# Change the MySQL data directory
sed -e 's!/var/lib/mysql$!/mnt/ebs/mysql!' -i /etc/my.cnf

這有效地更改了您的 mysql 數據目錄(datadir設置),因此您無法訪問任何以前創建的數據庫(如 wordpress 數據庫)。

作為一個瘋狂的猜測,我認為 mysqld 無法訪問/mnt/ebs/mysql,因此無法啟動。嘗試將其更改回/var/lib/mysql. 但是,這可能會干擾您的 django。如果你讓 django 配置的 mysql 執行,你總是可以添加第二個 my.cnf 具有另一個名稱和其他 tcp 埠,並執行兩個具有不同配置的 MySQL 伺服器。

套接字錯誤消息是關於 MySQL 伺服器未執行的。不要試圖通過放置文件來模擬套接字。

go腳本還對 my.cnf 進行了一些可能存在問題的更改。自己查看 go 文件並嘗試撤消所做的更改。

如果以上沒有任何幫助,您可以嘗試從命令行手動啟動 mysqld 程序,使用與服務腳本相同的參數,加上添加--verbose並發布其輸出。

引用自:https://serverfault.com/questions/439540