作者upyours (ministry)
看板MacDev
标题[转录][教学] 在osx上编译MySQL (有点无用冷知识)
时间Tue Jun 22 21:59:33 2010
※ [本文转录自 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" "
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
1F:→ Jerrynet:有MacDev版@@" 06/22 21:57
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.248.161.42
2F:推 tseng1129:Macports里不就有mysql5了? 06/24 01:52
3F:→ upyours:macports是很方便,但是有时候会有特殊需求... 06/26 01:48