Linux環境下原始碼編譯方式安裝MySQL5.1(1)

junsansi發表於2011-01-25

1、原始碼安裝MySQL 5.1 GA

建立組和使用者:

    [root@mysqldb2 ~]# groupadd mysql

    [root@mysqldb2 ~]# useradd -g mysql mysql

解壓縮安裝包:

    [root@mysqldb2 ~]$ cd /data/software/

    [root@mysqldb2 software]$ tar xvfz mysql-5.1.51.tar.gz 

    [root@mysqldb2 software]$ cd mysql-5.1.51

進入mysql安裝包目錄,執行configure並載入適當引數:

     [root@mysqldb2 mysql-5.1.51]# ./configure --prefix=/usr/local/mysql/ --with-server-suffix=-junsansi-edition --enable-assembler --enable-local-infile --enable-thread-safe-client --with-big-tables --with-charset=utf8  --with-extra-charsets=gbk,gb2312,utf8,ascii  --with-readline --with-ssl --with-embedded-server --with-pthread --with-mysqld-user=mysql --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-plugins=partition,innobase,innodb_plugin > /home/jss/mysql_setuplogs_configure.log 2>&1

提示:configure支援的選項非常多,詳細的引數及說明建議參考官方文件,也可以通過./configure --help檢視,這裡僅列出常用及推薦使用的選項。

  • --prefix=PREFIX:指定程式安裝路徑;
  • --enable-assembler:使用匯編模式;
  • --enable-local-infile:啟用對LOAD DATA LOCAL INFILE語法的支援(預設不支援);
  • --enable-profiling:Build a version with query profiling code (req.community-features)
  • --enable-thread-safe-client:使用編譯客戶端;
  • --with-big-tables:啟用32位平臺對4G大表的支援;
  • --with-charset=CHARSET:指定字符集;
  • --with-collation=:預設collation;
  • --with-extra-charsets=CHARSET,CHARSET,...:指定附加的字符集;
  • --with-fast-mutexes:Compile with fast mutexes
  • --with-readline:
  • --with-ssl:啟用SSL的支援;
  • --with-server-suffix=:新增字串到版本資訊;
  • --with-embedded-server:編譯embedded-server;
  • --with-pthread:強制使用pthread類庫;
  • --with-mysqld-user=:指定mysqld守護程式的使用者;
  • --with-mysqld-ldflags=:靜態編譯MySQL伺服器端;
  • --with-client-ldflags=:靜態編譯MySQL客戶端;
  • --with-plugins=PLUGIN,PLUGIN,...:MySQL伺服器端支援的元件(預設為空),可選值較多:
    • partition:MySQL Partitioning Support;
    • daemon_example:This is an example plugin daemon;
    • ftexample:Simple full-text parser plugin;
    • archive:Archive Storage Engine;
    • blackhole:Basic Write-only Read-never tables;
    • csv:Stores tables in text CSV format,強制安裝;
    • example:Example for Storage Engines for developers;
    • federated:Connects to tables on remote MySQL servers;
    • heap:Volatile memory based tables,強制安裝;
    • ibmdb2i:IBM DB2 for i Storage Engine;
    • innobase:Transactional Tables using InnoDB;
    • innodb_plugin:Transactional Tables using InnoDB;
    • myisam:Traditional non-transactional MySQL tables,強制安裝;
    • myisammrg:Merge multiple MySQL tables into one,強制安裝;
    • ndbcluster:High Availability Clustered tables;
  • --with-plugin-PLUGIN:強制指定的外掛連結至MySQL伺服器;
  • --with-zlib-dir=:向MySQL提供一個自定義的壓縮類庫地址;
  • --without-server:僅安裝MySQL客戶端;
  • --without-query-cache:不要編譯查詢快取;
  • --without-geometry:不要編譯geometry-related部分;
  • --without-debug:編譯為產品版,放棄debugging程式碼;
  • --without-ndb-debug:禁用special ndb debug特性;

    提示:執行Configure時如果報bin/rm: cannot remove `libtoolt': No such file or directory錯誤,可按照下列步驟解決:

    1、確認libtool是否已經安裝,如果沒有安裝的話,則先安裝libtool

    # rpm -qa | grep libtool

    # yum -y install libtool

    2、分別執行以下三條命令:

    # autoreconf --force --install

    # libtoolize --automake --force

    # automake --force --add-missing

    再重新編譯安裝,問題解決!

繼續執行編譯:

    [root@mysqldb2 mysql-5.1.51]# make > /home/jss/mysql_setuplogs_make.log 2>&1

     [root@mysqldb2 mysql-5.1.51]# make install > /home/jss/mysql_setuplogs_makeinstall.log 2>&1

修改相關路徑許可權:

    [root@mysqldb2 mysql-5.1.51]# cd /usr/local/

     [root@mysqldb2 local]# chown -R mysql:mysql mysql

複製程式檔案到/usr/bin目錄下,方便呼叫:

     [root@mysqldb2 local]# cp /usr/local/mysql/bin/mysql* /usr/bin/

至此,MySQL資料庫軟體安裝完全,此時已可使用mysql命令列工具連線其它MySQL資料庫伺服器了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-684612/,如需轉載,請註明出處,否則將追究法律責任。

相關文章