1. 程式人生 > >centos6.9編譯安裝mysql5.7.19

centos6.9編譯安裝mysql5.7.19

廢話不多說,先直接來完全操作命令

yum install cmake gcc gcc-c++ ncurses-devel wget
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar zxf boost_1_59_0.tar.gz
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19.tar.gz
tar zxf mysql-5.7.19.tar.gz
cd mysql-5.7.19
cmake . -DCMAKE_INSTALL_PREFIX
=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=../mysql/boost 也可以用註釋的那條,只不過引數多了而已,具體引數請參考 https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html #cmake . -DCMAKE_INSTALL_PREFIX=/usr/local
/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DENABLED_LOCAL_INFILE=1 -DENABLE_DOWNLOADS=1 -DEXTRA_CHARSETS
=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLAION=utf8mb4_general_ci -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_BOOST=../boost_1_59_0 如果遇到錯誤 rm -rf CMakeCache.txt make make install

下載mysql_boost原始碼包
解壓
安裝cmake
用cmake編譯
提示缺少ncurses-devel,根據提示安裝
yum install ncurses-devel
[sudo apt install libncurses5-dev]
然後常規make,make install
參考http://blog.csdn.net/u012453679/article/details/60480682,但是完全照步驟去操作,根本不通
,在初始化的時候會出現ERROR] COLLATION ‘utf8_general_ci’ is not valid for CHARACTER SET ‘latin1’,參考http://sndapk.blog.51cto.com/5385144/925738解決,然後再次初始化,啟動,登入mysql,執行查詢命令,提示需要進行修改密碼,用set password=password(‘新密碼’);解決
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=./mysql/boost
cmake 引數解釋:
-DCMAKE_INSTALL_PREFIX: 指定安裝路徑
-DMYSQL_DATADIR : 指定資料存放路徑
-DMYSQL_UNIX_ADDR :指定套間字路徑
-DDEFAULT_CHARSET : 設定字符集
-DDEFAULT_COLLATION : 設定字元校驗集
-DWITH_BOOST : 指定Boost擴充套件原始碼路徑