標籤:mysql 資料庫 編譯安裝 源碼安裝 cmake
由於CentOS 6 現在yum源的mysql-server 版本還是5.1 的,已經比較老了
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/73/58/wKiom1X6gcyx3LpNAAFK6JcM1FY162.jpg" title="1.png" alt="wKiom1X6gcyx3LpNAAFK6JcM1FY162.jpg" />
況且後續服務可能需要mysql的標頭檔, yum安裝的沒有找不到標頭檔,索性就編譯安裝.
MySQL官網是: http://dev.mysql.com/downloads/mysql/
1,直接下載源碼:
說明:MySQL 5.5的編譯工具由Autotool轉變為了cmake(有關於更多關於cmake的資訊,請大家自行google瞭解)。MySQL團隊也撰寫了一篇Autotools to CMake Transition Guide , 本文將要列出的各個編譯選項以及更多的編譯選項的說明可以參考該文檔。在troubleshooting時,此文檔更是不得不看。編譯時間我習慣於一些選項 (比如安裝位置)不按預設的來,因為如果按預設選項出了問題,更不好解決(因為到時你不僅需要知道到底有選項有何含義還要知道預設的是什麼,反而更麻 煩)。
# wget # groupadd -r mysql# useradd -M -r -G mysql -s /sbin/nologin mysql# tar xf mysql-5.6.26.tar.gz # cd mysql-5.6.26# yum install gcc gcc-c++ cmake make ncurses ncurses-devel readline-devel openssl-devel pcre-devel zlib-devel libxml2-devel# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6.25 \ #mysql安裝路徑-DMYSQL_DATADIR=/var/mysqldb \ #資料檔案存放位置-DSYSCONFDIR=/etc \ #my.cnf設定檔路徑-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支援MyIASM引擎-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支援InnoDB引擎-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支援Memory引擎-DWITH_READLINE=1 \ #命令列文本整理-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #串連資料庫socket路徑-DMYSQL_TCP_PORT=3306 \ #連接埠-DENABLED_LOCAL_INFILE=1 \ #允許從本地匯入資料-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安裝支援資料庫分區-DEXTRA_CHARSETS=all \ #安裝所有的字元集-DDEFAULT_CHARSET=utf8 \ #預設字元utf-8-DDEFAULT_COLLATION=utf8_general_ci #預設字元集
-- Running cmake version 2.8.12.2-- Could NOT find Git (missing: GIT_EXECUTABLE) -- The C compiler identification is GNU 4.4.7-- The CXX compiler identification is GNU 4.4.7-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Check for working CXX compiler: /usr/bin/c++..................-- COMPILE_DEFINITIONS: HAVE_CONFIG_H-- CMAKE_C_FLAGS: -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement-- CMAKE_CXX_FLAGS: -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter-- CMAKE_C_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF-- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF-- Configuring done-- Generating doneCMake Warning: Manually-specified variables were not used by the project: WITH_MEMORY_STORAGE_ENGINE WITH_READLINE-- Build files have been written to: /root/mysql-5.6.26# make -j 4 && make installScanning dependencies of target INFO_BIN[ 0%] Built target INFO_BINScanning dependencies of target INFO_SRC[ 0%] Built target INFO_SRCScanning dependencies of target abi_check[ 0%] Built target abi_checkScanning dependencies of target zlib[ 0%] Building C object zlib/CMakeFiles/zlib.dir/adler32.c.o[ 0%] Building C object zlib/CMakeFiles/zlib.dir/compress.c.o[ 0%] Building C object zlib/CMakeFiles/zlib.dir/crc32.c.o[ 0%] Building C object zlib/CMakeFiles/zlib.dir/deflate.c.o[ 0%] Building C object zlib/CMakeFiles/zlib.dir/gzio.c.o[ 0%] Building C object zlib/CMakeFiles/zlib.dir/infback.c.o[ 0%] Building C object zlib/CMakeFiles/zlib.dir/inffast.c.o[ 0%] Building C object zlib/CMakeFiles/zlib.dir/inflate.c.o[ 0%] Building C object zlib/CMakeFiles/zlib.dir/inftrees.c.o[ 0%] Building C object zlib/CMakeFiles/zlib.dir/trees.c.o[ 0%] Building C object zlib/CMakeFiles/zlib.dir/uncompr.c.o[ 1%] Building C object zlib/CMakeFiles/zlib.dir/zutil.c.oLinking C static library libzlib.a[ 1%] Built target zlibScanning dependencies of target yassl[ 1%] Building CXX object extra/yassl/CMakeFiles/yassl.dir/src/buffer.cpp.o[ 1%] Building CXX object extra/yassl/CMakeFiles/yassl.dir/src/cert_wrapper.cpp.o[ 1%] Building CXX object extra/yassl/CMakeFiles/yassl.dir/src/crypto_wrapper.cpp.o[ 1%] Building CXX object extra/yassl/CMakeFiles/yassl.dir/src/handshake.cpp.o[ 2%] Building CXX object extra/yassl/CMakeFiles/yassl.dir/src/yassl_int.cpp.o[ 2%] Building C object extra/yassl/CMakeFiles/yassl.dir/__/__/client/get_password.c.oLinking CXX static library libyassl.a[ 2%] Built target yasslScanning dependencies of target taocrypt[ 2%] Building CXX object extra/yassl/taocrypt/CMakeFiles/taocrypt.dir/src/aes.cpp.o[ 2%] Building CXX object extra/yassl/taocrypt/CMakeFiles/taocrypt.dir/src/aestables.cpp.o[ 2%] Building CXX object extra/yassl/taocrypt/CMakeFiles/taocrypt.dir/src/algebra.cpp.o[ 2%] Building CXX object extra/yassl/taocrypt/CMakeFiles/taocrypt.dir/src/arc4.cpp.o[ 3%] Building CXX object extra/yassl/taocrypt/CMakeFiles/taocrypt.dir/src/asn.cpp.o[ 20%] Built target simple-t[ 20%] Built target skip-t[ 20%] Built target skip_all-t[ 20%] Built target todo-t[ 20%] Built target basic-t[ 20%] [ 20%] Built target my_print_defaultsBuilt target mysql_waitpid[ 21%] Built target innochecksum[ 21%] Built target replace[ 22%] [ 22%] Built target resolve_stack_dumpBuilt target resolveip[ 22%] [ 22%] Built target mysql_tzinfo_to_sql[ 30%] Built target perfschema[ 35%] Built target perfschema_embedded[ 35%] Built target federated[ 37%] Built target myisammrg[ 52%] Built target pfs_instr-t[ 52%] Built target pfs_instr_class-oom-t[ 52%] [ 52%] Built target pfs_instr_class-tBuilt target pfs_misc-t[ 59%] Built target myisam_embedded[ 59%] Built target myisam_ftdump[ 59%] Built target myisamchk[ 59%] Built target myisamlog[ 59%] Built target myisampack[ 59%] Built target federated_embedded[ 59%] Built target blackhole_embedded[ 61%] Built target myisammrg_embedded[ 69%] [ 69%] Built target innobase_embeddedBuilt target auth[ 69%] Built target auth_socket[ 69%] Built target auth_test..........
編譯的參數可以參考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
整個過程需要30分鐘左右……漫長的等待
2, 配置MySQL 5.6
# chown -R mysql:mysql /usr/local/mysql5.6.25 //修改MySQL安裝目錄的所屬使用者組
# cd /usr/local/mysql5.6.25# scripts/mysql_install_db --basedir=/usr/local/mysql5.6.26/ --datadir=/var/mysqldb/ --user=mysql //初始化MySQL# cp support-files/mysql.server /etc/init.d/mysqld //拷貝服務指令碼到系統init.d目錄# chkconfig --add mysqld //添加啟動列表# chkconfig mysqld on //設定開機啟動服務# service mysqld start //手動啟動mysqld 服務
MySQL 服務啟動後,預設管理賬戶是root ,密碼為空白
# cd bin/# mysql //預設賬戶是root 密碼為空白
接下來添加mysql 程式目錄的環境變數 或者 添加軟串連
# echo ‘export PATH=${PATH}:/usr/local/mysql5.6.26/bin/‘ >> /etc/profile# source /etc/profile
或者
# ln -s /usr/local/mysql5.6.26/bin/* /usr/bin/
3, 修改資料庫預設root密碼
# mysql -u rootmysql> mysql> SET PASSWORD=PASSWORD(‘123.com‘);Query OK, 0 rows affected (0.00 sec)
4, 配置my.cnf
mysql的設定檔,這是很重要的一步,配置得當以後就不需要在啟動時寫上大段的參數了。
首先應該知道:MySQL尋找設定檔的路徑以及順序。最開始檢索的位置是/etc/my.cnf之後是/etc/mysql/my.cnf因此我們要做的就是在這兩個地方之一建立設定檔my.cnf。MySQL為我們準備了幾種不同方案的預設設定檔(在mysql的安裝目錄中 support-files/目錄下有個 my-default.cnf的檔案),因此我們可以複製一份到上述的位置
# cp /usr/local/mysql5.6.26/support-files/my-default.cnf /etc/my.cnf# vim /etc/my.cnf
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/73/56/wKioL1X6qDPSuOnpAABuWLQWOp0083.jpg" title="2.png" alt="wKioL1X6qDPSuOnpAABuWLQWOp0083.jpg" />
明確寫出mysql的安裝目錄,資料庫的存放目錄,預設tcp連接埠,socket檔案目錄
# service mysqld restart
基本安裝就完成.
本文出自 “Professor哥” 部落格,轉載請與作者聯絡!
源碼安裝 MySQL Community Server 5.6.26