2016-06-08 49 views
0

我在ruby-1.9.3-p125上運行一箇舊的rails項目,直到我更新mysql。 我最終刪除&通過自制軟件重新安裝mysql,以解決問題。我設法恢復所有我的php項目的環境,但沒有這個。rails + MySQL on OSX(Yosemite)

運行ps aux | grep的MySQL的回報:

myuser   19131 0,0 0,1 3570856 6428 ?? S  1:30μμ 0:11.46 /usr/local/Cellar/mysql/5.7.11/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.7.11 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.7.11/lib/plugin --bind-address=127.0.0.1 --log-error=/usr/local/var/mysql/Macbook.local.err --pid-file=/usr/local/var/mysql/Macbook.local.pid 
myuser   19039 0,0 0,0 2447704 480 ?? S  1:30μμ 0:00.02 /bin/sh /usr/local/opt/mysql/bin/mysqld_safe --bind-address=127.0.0.1 --datadir=/usr/local/var/mysql 
myuser   27974 0,0 0,0 2423356 208 s001 R+ 1:22μμ 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn mysql 

當我嘗試運行耙分貝:創建我得到以下錯誤:

rake aborted! 
uninitialized constant Mysql2::Client::SECURE_CONNECTION 

mysql.server的狀態似乎運行..當我試圖阻止(MySQL的.server stop)我得到:

Shutting down MySQL 
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/macbook.local.pid). 

並且mysql繼續運行,但帶有一個新的pid ID。

任何想法鐵軌項目什麼是錯的,以及如何處理它?

感謝, Ç

回答

0

你需要更新你的mysql2寶石。

首先,檢查你的Gemfile包括gem 'mysql2',而不是老mysql寶石

接下來,運行bundle update mysql2如果你沒有需要改變你的Gemfile,或bundle install如果你這樣做。如果您確定更新其他寶石不會影響任何內容,則只運行bundle update(不包含mysql2部分)。

然後嘗試運行您的rake命令。

+0

嗨喬恩,mysql2被使用,而不是mysql。按照您的建議更新了現在的rake命令並返回:dlopen(/Users/myuser/.rvm/gems/[email protected]/gems/nokogiri-1.5.5/lib/nokogiri/nokogiri.bundle ,9):Library not loaded:/opt/local/lib/libxml2.2.dylib 引用自:/Users....gems/nokogiri-1.5.5/lib/nokogiri/nokogiri.bundle 原因:不兼容的庫版本:nokogiri.bundle要求版本11.0.0或更高版本,但libxml2.2.dylib提供版本10.0.0 - /Users/myuser/.rvm/gems/[email protected]/gems/nokogiri-1.5 .5/lib/nokogiri/nokogiri.bundle – HaCos

+0

你是如何安裝libxml2的?希望你用過自制軟件......在這種情況下,通過自制軟件更新它,然後更新或重新安裝nokogiri。你可能也有與libxslt相同的問題。 – Jon