Percona Server 5.1.53 on FreeBSD 8 安裝記

這種東西我安裝完一定不記得,所以快速記錄一下。
我原本環境裡是mysql 3.xx -> mysql 4.xx -> mysql 5.0.xx -> mysql 5.1.xx -> MariaDB 5.2.x
所以環境裡已經有資料跟設定檔,整個新安裝的話,最後有幾步不一定會需要作。

1. 取得Percona Server FreeBSD Binary (目前還沒有Ports)
2. 解壓縮至 /usr/local

cd /usr/local
tar zxvf Percona-Server-5.1.53-rel11.7-151-FreeBSD-i386.tar.gz

3. 作個Symbolic Link到percona-server

ln -fs Percona-Server-5.1.53-rel11.7-151-FreeBSD-i386 percona-server

4. 更新系統權限

chown -R root:wheel percona-server

5. 在 /usr/local/etc/rc.d作個 startup script

cd /usr/local/etc/rc.d
ee Percona-Server

以下為內容,從mysql-server的startup script改來的

. /etc/rc.subr

name=”mysql”
rcvar=`set_rcvar`

load_rc_config $name

: ${mysql_enable=”NO”}
: ${mysql_limits=”NO”}
: ${mysql_dbdir=”/var/db/mysql”}
: ${mysql_args=””}

mysql_user=”mysql”
mysql_limits_args=”-e -U ${mysql_user}”
pidfile=”${mysql_dbdir}/`/bin/hostname`.pid”
command=”/usr/sbin/daemon”
command_args=”-c -f /usr/local/percona-xtradb/bin/mysqld_safe –defaults-extra-file=${mysql_dbdir}/my.cnf –user=${mysql_user} –datadir=${mysql_dbdir} –pid-file=${pidfile} ${mysql_args}”
procname=”/usr/local/percona-xtradb/libexec/mysqld”
start_precmd=”${name}_prestart”
start_postcmd=”${name}_poststart”

mysql_prestart()
{
if [ ! -d “${mysql_dbdir}/mysql/.” ]; then
mysql_create_auth_tables || return 1
fi
if checkyesno mysql_limits; then
eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
else
return 0
fi
}

mysql_poststart()
{
local timeout=15
while [ ! -f “${pidfile}” -a ${timeout} -gt 0 ]; do
timeout=$(( timeout – 1 ))
sleep 1
done
return 0
}

run_rc_command “$1”

當然,要確認一下檔案屬性

chmod 555 Percona-Server

以上大致完畢。
但是啟動時,也許看會有兩個error,mysql.event 跟mysql.proc 兩個是相同的event,當然這可能是因為我的mysql是一路從3.xx升級上來所留下的遺毒。
如果遇到的話,這兩個表的sql_type要改為(問題出在set裡面的第五個參數)

‘REAL_AS_FLOAT’,’PIPES_AS_CONCAT’,’ANSI_QUOTES’,’IGNORE_SPACE’,‘NOT_USED’,
‘ONLY_FULL_GROUP_BY’,’NO_UNSIGNED_SUBTRACTION’,’NO_DIR_IN_CREATE’,
‘POSTGRESQL’,’ORACLE’,’MSSQL’,’DB2′,’MAXDB’,’NO_KEY_OPTIONS’,
‘NO_TABLE_OPTIONS’,’NO_FIELD_OPTIONS’,’MYSQL323′,’MYSQL40′,’ANSI’,
‘NO_AUTO_VALUE_ON_ZERO’,’NO_BACKSLASH_ESCAPES’,’STRICT_TRANS_TABLES’,
‘STRICT_ALL_TABLES’,’NO_ZERO_IN_DATE’,’NO_ZERO_DATE’,’INVALID_DATES’,
‘ERROR_FOR_DIVISION_BY_ZERO’,’TRADITIONAL’,’NO_AUTO_CREATE_USER’,
‘HIGH_NOT_PRECEDENCE’,’NO_ENGINE_SUBSTITUTION’,’PAD_CHAR_TO_FULL_LENGTH’

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *