[轉錄][教學] 在osx上編譯MySQL (有點無用冷ꨠ…

看板MacDev作者 (ministry)時間15年前 (2010/06/22 21:59), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
※ [本文轉錄自 MAC 看板 #1C8C4oyw ] 作者: upyours (ministry) 看板: MAC 標題: [教學] 在osx上編譯MySQL (有點無用冷知識) 時間: Tue Jun 22 21:57:04 2010 MySQL是一個相當受到歡迎的資料庫系統, 這篇文章將敘述怎樣在osx上面從原始碼開始編譯它的過程。 整個過程大約需要20分鐘。 //========= MySQL官網上有已經編譯好的pkg安裝檔案, 你可以跳過這篇文章,直接下載來安裝就好。 況且,直接編譯MySQL的話,系統篇好設定面板裡面不會有MySQL的開關。 =========// 動手之前,先確認 1.你的系統是 Mac OS X 10.6 Snow Leopard 2.你已經安裝了Xcode(osx光碟上有,ADC上面也可以下載) 3.有個好用的文字編輯器,例如textmate或fraise vi ee joe都可 4.手邊有杯茶或咖啡 步驟一:設定 $PATH 首先打開終端機 /Applications/Utilities/Terminal.app 編譯之前,我們要先設定好shell的$PATH變數, 而這個變數在家目錄的.profile裡面。 假如你用fraise,也安裝了命令列工具(help選單裡面可以安裝) fraise ~/.profile 打開.profile,在這個檔案最下面加上這句 export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH" 存檔之後 source ~/.profile 執行上面這行命令,載入新的shell設定 然後打上 echo $PATH 來驗證看看是不是成功,如果第一行是/usr/local/bin:開頭就表示成功了 步驟二:下載原始碼 原始碼通常是在這邊可以找到 http://www.mysql.com/downloads/mysql 例如這個 mysql-5.1.48.tar.gz 的樣子 Generic Linux (Architecture Independent), Compressed TAR Archive 下載之後隨便找個地方放,假設是 ~/Downloads 依序執行以下指令 cd ~/Downloads tar xzvf mysql-5.1.48.tar.gz ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-shared --with-plugins=innobase make sudo make install cd /usr/local/mysql sudo ./bin/mysql_install_db --user=mysql sudo chown -R mysql ./var cd .. 到這邊為止,MySQL已經編譯完成,接下來要設定開機時自動啟動。 回到你的文字編輯器,開個新檔案,貼上以下內容 (請注意第二行斷行的部份,bbs寬度...) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "" rel="nofollow">http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>KeepAlive</key> <true/> <key>Label</key> <string>com.mysql.mysqld</string> <key>Program</key> <string>/usr/local/mysql/bin/mysqld_safe</string> <key>RunAtLoad</key> <true/> <key>UserName</key> <string>mysql</string> <key>WorkingDirectory</key> <string>/usr/local/mysql</string> </dict> </plist> 然後先存檔在桌面吧,檔名叫做 com.mysql.mysqld.plist 接著執行以下指令,讓MySQL開機自動執行 sudo mv ~/Desktop/com.mysql.mysqld.plist /Library/LaunchDaemons sudo chown root /Library/LaunchDaemons/com.mysql.mysqld.plist 接著,第一次啟動MySQL sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist 如果正常的話,應該什麼反應都沒有,就好像沒執行過這條指令 接著檢驗看看,MySQL是不是真的正常了? mysql -uroot 應該會看到如下的文字 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.48 Source distribution Copyright (c) 2000,......... 到這邊大功告成,打個exit離開吧。 你的mac裡面現在有64-bit的MySQL執行中了 要手動停止Mysql的話 sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysqld.plist 手動開始或restart MySQL sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist 會在mac上面安裝mysql通常都是測試用,而不是真的要拿來當server 所以懶惰一點的話,我們可以做一個 /etc/my.cnf sudo fraise /etc/my.cnf 在這個檔案寫上 [mysqld] bind-address = 127.0.0.1 然後存檔離開。這樣的話MySQL就只能localhost連接了 接著,如果你要給MySQL的root帳號一個密碼的話 cd /usr/local/mysql/bin/ mysqladmin -u root password 你的密碼 無用冷知識到此結束,謝謝收看。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.161.42

06/22 21:57,
有MacDev版@@"
06/22 21:57
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.161.42

06/24 01:52, , 1F
Macports裡不就有mysql5了?
06/24 01:52, 1F

06/26 01:48, , 2F
macports是很方便,但是有時候會有特殊需求...
06/26 01:48, 2F
文章代碼(AID): #1C8C77eU (MacDev)
文章代碼(AID): #1C8C77eU (MacDev)