mysql-5.5源碼編譯安裝(附參數對照表)

 

mysql-5.5源碼編譯安裝(附參數對照表)

分類: mysql 1494人閱讀 評論(0) 收藏 舉報

mysql

自5.5以後的版本都需要cmake編譯安裝,so...先安裝cmake編譯器


[plain] view plaincopyprint?在CODE上查看代碼片派生到我的代碼片

  1. 安裝必要的組件  

  2. yum -y install cmake  

  3. yum -y install bison  

  4. yum -y install ncurses-devel  

  5.    

  6. 添加賬戶  

  7. groupadd mysql  

  8. useradd mysql -g mysql -M -s /bin/false  

  9.    

  10. 編譯安裝  

  11. tar zxvf mysql-5.5.24.tar.gz  

  12. cd mysql-5.5.24  

  13. cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \  

  14. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \  

  15. -DMYSQL_USER=mysql \  

  16. -DEXTRA_CHARSETS=all \  

  17. -DDEFAULT_CHARSET=utf8 \  

  18. -DDEFAULT_COLLATION=utf8_general_ci \  

  19. -DWITH_MYISAM_STORAGE_ENGINE=1 \  

  20. -DWITH_INNOBASE_STORAGE_ENGINE=1 \  

  21. -DWITH_DEBUG=0 \  

  22. -DWITH_READLINE=1 \  

  23. -DWITH_EMBEDDED_SERVER=1 \  

  24. -DENABLED_LOCAL_INFILE=1   

  25.    

  26. make -j 2 && make install  

  27. 注:-j 用來指定CPU核心數,可加快編譯速度,不加也可以  

  28.    

  29. 以下爲附加步驟,如果你想在這臺服務器上運行MySQL數據庫,則執行以下兩步。  

  30. 如果只是希望讓PHP支持MySQL擴展庫,能夠連接其他服務器上的MySQL數據庫,以下兩步無需執行。  

  31.    

  32. 1、以mysql用戶帳號的身份建立數據表:  

  33. chown -R mysql.mysql /usr/local/mysql  

  34. cp support-files/my-large.cnf /etc/my.cnf  

  35. /usr/local/mysql/scripts/mysql_install_db \  

  36. --defaults-file=/etc/my.cnf \  

  37. --basedir=/usr/local/mysql \  

  38. --datadir=/usr/local/mysql/data/ \  

  39. --user=mysql  

  40.    

  41. 2、加入開機自啓動;並啓動mysql  

  42. cp support-files/mysql.server /etc/rc.d/init.d/mysqld  

  43. chmod 755 /etc/rc.d/init.d/mysqld  

  44. chkconfig --add mysqld  

  45. chkconfig --level 35 mysqld on  

  46. service mysqld start  




從mysql5.5起,mysql源碼安裝開始使用cmake。下面是 mysql 5.5 與以前的參數對照:

configure CommandCMake Command
./configurecmake .
./configure --helpcmake . -LH or ccmake .


Parameterconfigure OptionCMake OptionCMake Notes
Installation base directory--prefix=/usr-DCMAKE_INSTALL_PREFIX=/usr
mysqld directory--libexecdir=/usr/sbin-DINSTALL_SBINDIR=sbininterpreted relative to prefix
Data directory--localstatedir=/var/lib/mysql-DMYSQL_DATADIR=/var/lib/mysql
Config directory (for my.cnf)--sysconfdir=/etc/mysql-DSYSCONFDIR=/etc/mysql
Plugin directory--with-plugindir=/usr/lib64/mysql/plugin-DINSTALL_PLUGINDIR=lib64/mysql/plugininterpreted relative to prefix
Man page directory--mandir=/usr/share/man-DINSTALL_MANDIR=share/maninterpreted relative to prefix
Shared-data directory--sharedstatedir=/usr/share/mysql-DINSTALL_SHAREDIR=sharethis is where aclocal/mysql.m4 should be installed
Library installation directory--libdir=/usr/lib64/mysql-DINSTALL_LIBDIR=lib64/mysqlinterpreted relative to prefix
Header installation directory--includedir=/usr/include/mysql-DINSTALL_INCLUDEDIR=include/mysqlinterpreted relative to prefix
Info doc directory--infodir=/usr/share/info-DINSTALL_INFODIR=share/infointerpreted relative to prefix


Parameterconfigure OptionCMake OptionCMake Notes
readline library--with-readline-DWITH_READLINE=1
SSL library--with-ssl=/usr-DWITH_SSL=system
zlib library--with-zlib-dir=/usr-DWITH_ZLIB=system
libwrap library--without-libwrap-DWITH_LIBWRAP=0



Parameterconfigure OptionCMake OptionCMake Notes
TCP/IP port number--with-tcp-port-=3306-DMYSQL_TCP_PORT=3306
UNIX socket file--with-unix-socket-path=/tmp/mysqld.sock-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
Enable LOCAL for LOAD DATA--enable-local-infile-DENABLED_LOCAL_INFILE=1
Extra charsets--with-extra-charsets=all-DEXTRA_CHARSETS=alldefault is "all"
Default charset--with-charset=utf8-DDEFAULT_CHARSET=utf8
Default collation--with-collation=utf8_general_ci-DDEFAULT_COLLATION=utf8_general_ci
Build the server--with-servernone
Build the embedded server--with-embedded-server-DWITH_EMBEDDED_SERVER=1
libmysqld privilege control--with-embedded-privilege-controlnonealways enabled?
Install the documentation--without-docsnone
Big tables--with-big-tables, --without-big-tablesnonetables are big by default
mysqld user--with-mysqld-user=mysql-DMYSQL_USER=mysqlmysql is the default
Debugging--without-debug-DWITH_DEBUG=0default is debugging disabled
GIS support--with-geometrynonealways enabled?
Community features--enable-community-featuresnonealways enabled
Profiling--disable-profiling-DENABLE_PROFILING=0enabled by default
pstack--without-pstacknonepstack is removed
Assembler string functions--enable-assemblernone
Build type--build=x86_64-pc-linux-gnuno equivalentunneeded?
Cross-compile host--host=x86_64-pc-linux-gnuno equivalentunneeded?
Client flag--with-client-ldflags=-lstdc++noneunneeded
Client flag--enable-thread-safe-clientnoneunneeded, clients are always thread safe
Comment--with-comment='string'-DWITH_COMMENT='string'
Shared/static binaries--enable-shared --enable-staticnonethere is only DISABLE_SHARED
Memory use--with-low-memorynoneunneeded



[plain] view plaincopyprint?在CODE上查看代碼片派生到我的代碼片

  1. 1. 命令語法:  

  2.   

  3. 重新編譯時,需要清除舊的對象文件和緩存信息  

  4. # make clean  

  5. # rm -f  CMakeCache.txt  

  6.   

  7. 2.安裝選項  

  8.   

  9. CMAKE_INSTALL_PREFIX值是安裝的基本目錄,其他cmake選項值是不包括前綴,是相對路徑名,絕對路徑包括 CMAKE_INSTALL_PREFIX路徑。如-DINSTALL_SBINDIR=sbin的絕對路徑是/usr/local/mysql /sbin  

  10.   

  11. 3.存儲引擎選項  

  12. mysql存儲引擎是插件式的,因此插件控制選項可以指定那個存儲引擎安裝。  

  13. configure編譯插件選項--with-plugins=csv,myisam,myisammrg,heap,innobase,  

  14. archive,blackhole在cmake中沒有直接對應的相同選項。對於csv,myisam,myisammrg,heap在cmake中是不需要明確指定存儲引擎的名稱,因爲它們是強制性安裝。  

  15.   

  16. 可以使用以下選擇來安裝innodb,archive,blackhole存儲引擎  

  17. -DWITH_INNOBASE_STORAGE_ENGINE=1  

  18.   

  19. -DWITH_ARCHIVE_STORAGE_ENGINE=1  

  20.   

  21. -DWITH_BLACKHOLE_STORAGE_ENGINE=1  

  22.   

  23. (1可以使用on代替)  

  24.   

  25. 如果既不是-DWITH_<ENGINE>_STORAGE_ENGINE 也不是 -DWITHOUT_<ENGINE>_STORAGE_ENGINE 來指定存儲引擎,該存儲引擎將安裝成共享模塊式的。如果不是共享模塊式的將排除在外。共享模塊安裝時必須使用INSTALL PLUGIN語句或--plugin-load纔可以使用。  

  26.   

  27. 4.其他選項  

  28. 之前MySQL的編譯選項大多數都支持。新舊版本之間的安裝選項映射成大寫字母,刪除選項前面破折號,中間字符間的破折號替換成下劃線。如:  

  29. --with-debug => WITH_DEBUG=1  

  30.   

  31. --with-embedded-server => WITH_EMBEDDED_SERVER  

  32.   

  33. 5.調試配置過程  

  34. 使用configure編譯完將生成config.log和config.status文件。  

  35. 使用cmake編譯完在CMakeFiles目錄下生成CMakeError.log 和CMakeOutput.log文件。  

  36.   

  37. 編譯參數參考:  

  38.   

  39. BUILD_CONFIG   採用官方發行版一致的編譯參數  

  40. CMAKE_BUILD_TYPE 指定產品編譯說明信息   RelWithDebInf  

  41. CMAKE_INSTALL_PREFIX 指定MySQL安裝路徑  /usr/local/mysql  

  42. CPACK_MONOLITHIC_INSTALL是否建立單個安裝包文件 OFF   5.5.7  

  43. DEFAULT_CHARSET  MYSQL 默認字符集  latin1   5.5.7  

  44. DEFAULT_COLLATION MYSQL 默認排序字符集  latin1_swedish_ci 5.5.7  

  45. ENABLE_DEBUG_SYNC 是否啓用同步調試功能  ON   5.5.7  

  46. ENABLE_DOWNLOADS 是否下載可選文件  OFF   5.5.7  

  47. ENABLE_DTRACE  是否包含 DTrace 支持     5.5.7  

  48. ENABLE_GCOV  是否包含 Gcov 支持     5.5.14  

  49. ENABLED_LOCAL_INFILE 是否啓用本地 LOAD DATA INFILE OFF   5.5.7  

  50. ENABLED_PROFILING 是否啓用代碼查詢分析  ON   5.5.7  

  51. INSTALL_BINDIR  MySQL 主執行文件目錄  PREFIX/bin  5.5.7  

  52. INSTALL_DOCDIR  文檔安裝路徑   PREFIX/docs  5.5.7  

  53. INSTALL_DOCREADMEDIR 自述文件目錄   PREFIX   5.5.7  

  54. INSTALL_INCLUDEDIR 頭文件目錄   PREFIX/include  5.5.7  

  55. INSTALL_INFODIR  關於信息文件目錄  PREFIX/docs  5.5.7  

  56. INSTALL_LAYOUT  選擇預定義的安裝  STANDALONE  5.5.7  

  57. INSTALL_LIBDIR  庫文件目錄   PREFIX/lib  5.5.7  

  58. INSTALL_MANDIR  手冊頁面目錄   PREFIX/man  5.5.7  

  59. INSTALL_MYSQLSHAREDIR 共享數據目錄   PREFIX/share  5.5.7  

  60. INSTALL_MYSQLTESTDIR mysql-test 目錄   PREFIX/mysql-test 5.5.7  

  61. INSTALL_PLUGINDIR 插件目錄   PREFIX/lib/plugin 5.5.7  

  62. INSTALL_SBINDIR  服務器超級用戶執行文件目錄 PREFIX/bin  5.5.7  

  63. INSTALL_SCRIPTDIR 腳本目錄   PREFIX/scripts  5.5.7  

  64. INSTALL_SHAREDIR aclocal/mysql.m4 安裝目錄 PREFIX/share  5.5.7  

  65. INSTALL_SQLBENCHDIR sql-bench 性能測試工具目錄 PREFIX   5.5.7  

  66. INSTALL_SUPPORTFILESDIR 擴展支持文件目錄  PREFIX/support-files 5.5.7  

  67. MYSQL_DATADIR  數據庫存放目錄      5.5.7  

  68. MYSQL_MAINTAINER_MODE 是否啓用MySQL的維護環境  OFF   5.5.7  

  69. MYSQL_TCP_PORT  TCP/IP 端口號   3306   5.5.7  

  70. MYSQL_UNIX_ADDR  Unix Socket 套接字文件  /tmp/mysql.sock  5.5.7  

  71. SYSCONFDIR  選項配置文件目錄     5.5.7  

  72. WITH_COMMENT  編譯環境發表評論     5.5.7  

  73. WITH_DEBUG  是否包括調試支持  OFF   5.5.7  

  74. WITH_EMBEDDED_SERVER 是否要建立嵌入式服務器  OFF   5.5.7  

  75. WITH_xxx_STORAGE_ENGINE 靜態編譯xxx 存儲引擎到服務器    5.5.7  

  76. WITH_EXTRA_CHARSETS 額外的字符集,包括  all   5.5.7  

  77. WITH_LIBWRAP  是否包括支持libwrap(TCP包裝) OFF   5.5.7  

  78. WITH_READLINE  使用捆綁的readline  OFF   5.5.7  

  79. WITH_SSL  是否支持SSL  no   5.5.7  

  80. WITH_ZLIB  是否支持Zlib  system   5.5.7  

[plain] view plaincopyprint?在CODE上查看代碼片派生到我的代碼片

  1. WITHOUT_XXX_STORAGE_ENGINE 不編譯XXX存儲引擎到數據庫  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章