從 Windows + Access 轉移至 Linux + MySQL 時,缺乏圖形化管理工具是最大痛點。OpenOffice 支援透過「資料源」連接各類資料庫,配合 ODBC 驅動即可實現 MySQL 的視覺化操作(建表、查詢、列印標籤等)。
MySQL-3.23.55-pc-Linux-i686.tar.gz
MySQL-client-3.23.55-1.i386.rpm
MySQL-shared-3.23.55-1.i386.rpm
MyODBC-2.50.39-1.i386.rpm
unixODBC-2.2.4.tar.gz
下載源:MySQL 鏡像站、unixODBC 官網
rpm -qa | grep -i mysql
rpm -e (所有舊套件)
cd /usr/local
tar xzf MySQL-3.23.55-pc-Linux-i686.tar.gz
ln -s MySQL-3.23.55-pc mysql
cd mysql
scripts/mysql_install_db
chown -R root .
chown -R mysql data
chgrp -R mysql .
bin/safe_mysqld --user=mysql &
驗證:./mysql -utest 進入監視器,執行 select version(); 確認版本。
rpm -Uvh MySQL-client-3.23.55-1.i386.rpm
rpm -Uvh MySQL-shared-3.23.55-1.i386.rpm
rpm -Uvh MyODBC-2.50.39-1.i386.rpm
tar xzf unixODBC-2.2.5.tar.gz
cd unixODBC-2.2.5
su
./configure
make
make install
坑點: 需先安裝 KDE SDK(含 Qt)與 X SDK,否則 configure 失敗。可用 Red Hat 套件管理器安裝。
編輯 /etc/odbcinst.ini:
[MySQL]
Description = ODBC Driver for MySQL
Driver = /usr/local/lib/libmyodbc.so
Setup = /usr/local/lib/libodbcmyS.so
FileUsage = 1
編輯 /etc/odbc.ini:
[MySQL-test]
Description = MySQL database test
Driver = MySQL
Server = localhost
Database = test
Port = 3306
Socket =
Option =
Stmt =
將兩檔複製至 /usr/local/etc/(unixODBC 實際讀取路徑)。
MySQL 預設 socket 在 /tmp/mysql.sock,ODBC 卻找 /var/lib/mysql/mysql.sock。解法:
mkdir -p /var/lib/mysql
chown -R mysql.mysql /var/lib/mysql
bin/safe_mysqld --user=mysql --socket=/var/lib/mysql/mysql.sock &
isql MySQL-test -v
# 成功顯示 Connected! 並可執行 select version();
libodbc.so,執行:cp /usr/local/lib/libodbc.so /usr/lib/# 1. 安裝 MySQL 核心與開發套件
up2date mysql mysql-server mysql-devel
# 2. 初始化與權限
/usr/bin/mysql_install_db
chown -R mysql.mysql /var/lib/mysql
chmod -R 666 /var/lib/mysql
/usr/bin/safe_mysqld -u mysql &
# 3. 安裝 unixODBC
up2date unixODBC unixODBC-devel
# 4. 從源碼重建 MyODBC
up2date --src MyODBC
rpmbuild --rebuild /var/spool/up2date/MyODBC-2.50.39-7.src.rpm
rpm -Uvh --force /usr/src/redhat/RPMS/i386/MyODBC-2.50.39-7.i386.rpm
# 5. 參考方案一修改 odbc.ini / odbcinst.ini
my.cnf 加入 set-variable = max_connections=200,並以 mysql 身分(非 root)啟動 mysqld。