在 FreeBSD 下面用 ports 安裝 MySQL 4.1
如果你只要用 UTF-8 的話就算了,但是如果還是有使用 BIG5 的話..
安裝 make 的時候,記得要加上 WITH_CHARSET=big5
以下當作筆記,紀錄 MySQL database server / FreeBSD 的安裝流程:
安裝資料庫:
cd /usr/ports/databases/mysql41-server/ make WITH_CHARSET=big5 install
接下來加入這一行在 /etc/rc.conf 裡面:
mysql_enable=”YES”
如果想指定不同的資料庫存放位置的話,可以在 /etc/rc.conf 內加上:
mysql_dbdir=”/home/mysql”
記得這個目錄要先建立,owner 及 group 都要是 mysql,然後就可以啟動 MySQL 了:
/usr/local/etc/rc.d/mysql-server.sh start
再來要設定 root 密碼(假設密碼是 dada):
/usr/local/bin/mysqladmin -u root password ‘dada’
然後我們先進入 MySQL 的交談式介面,在命令列下執行:
/usr/local/bin/mysql -u root -p
問密碼的時候就輸入您在前一步驟設定的密碼
接下來首要任務當然是讓 phpMyAdmin 能連線囉,假設我們要為 phpMyAdmin 建立的一個連線帳號名稱為 giga 密碼為 virtual,在大於符號後面輸入:
GRANT ALL PRIVILEGES ON *.* TO ‘giga‘@’localhost‘
IDENTIFIED BY ‘virtual‘ WITH GRANT OPTION;
這邊是假設你的 Web Server 跟 MySQL 在同一台機器上,如果不是的話,請把 localhost 改成 Web Server 的 hostname 或 IP
完成後輸入 exit 可離開交談介面
然後到你的 Web Server 上面,安裝 phpMyAdmin:
cd /usr/ports/databases/phpmyadmin make install
設定 phpMyAdmin:
vi /usr/local/www/phpMyAdmin/config.inc.php
設定以下數值:
$cfg[‘Servers’][$i][‘auth_type’] = ‘http‘
如果你的 Web Server 跟 MySQL 不在同一台機器上,請把下面這一行的 localhost 改掉:
$cfg[‘Servers’][$i][‘host’] = ‘localhost‘
接下來改 httpd.conf (以 apache2 為例):
vi /usr/local/etc/apache2/httpd.conf
加入以下幾行
Alias /mysql/ "/usr/local/www/phpMyAdmin" <Directory "/usr/local/www/phpMyAdmin"> Options MultiViews FollowSymLinks AllowOverride All Order deny,allow Deny from all Allow from 192.168.0.1 Allow from 192.168.0.2 </Directory>
以上是設定只允許兩個 IP 連線,請依據你的需求更改,最後重新啟動 Web Server:
/usr/local/etc/rc.d/apache2.sh stop /usr/ocal/etc/rc.d/apache2.sh start
然後就可以用瀏覽器連到:
http://your.web.server/mysql/
輸入之前建立給 phpMyAdmin 用的帳號密碼就應該可以進去了..
成功進去後就可以開始做你想做的事了!
上面步驟以上所建立給 phpMyAdmin 用的帳號,會擁有全部的權限,建議可以做一些調整,拿掉不需要的部分,這樣的調整可以在 phpMyAdmin 的權限頁面中直接完成
另外,如果你有兩台 MySQL Server,想要設定 MySQL 的 Replication 功能,
請參考之前寫的另外一篇文章「Replication of MySQL database」
另外,如果要用 PHP 連接 MySQL 4.1,使用 BIG5 編碼的資料庫,記得在連線後執行:
$charset = mysql_query( "SET NAMES 'big5'", $dblink);
或者直接在 my.cnf 中加入底下這行(如果你確定所有的 DB 都是使用 BIG5 編碼的話):
init_connect='SET NAMES big5'