LINUX 環境下原始碼方式安裝mysql5.6
阿新 • • 發佈:2019-01-03
1.下載mysql原始碼:
5.執行cmake建立makefile
引數介紹:
注:此處如果報錯:可以檢視CMakeCache.txt,
5.1cmake介紹:此處編譯使用的是cmake工具
或者cp /home/work/mysql526/support-files/my-medium.cnf /home/work/mysql526/etc/my.cnf 9.編輯my.cnf,配置相關引數的路徑
10.配置環境變數:
13.安全 守護程序 啟動msyql ------ 至於為啥帶my.cnf引數,請參考下一章
--help : 帶my.cnf引數啟動,配置各種許可權 //**這個還必須要指定這個配置引數 /home/work/mysql526/bin/mysqld_safe --defaults-file=/home/work/mysql526/etc/my.cnf
14.設定密碼 1./home/work/mysql526//bin/mysqladmin -u root password 設定密碼:xxx123
2./home/work/mysql526//bin/mysqladmin -u root -h cp01-vm-epc-wiseapp5.epc.com password 設定密碼:xxx123
15.執行product環境清理工作,提高安全性 在product環境執行:/home/work/mysql526//bin/mysql_secure_installation 16.配置指定的IP可以訪問:配置10.126.107.119使用root,xxx123連線, GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.126.107.119' IDENTIFIED BY 'xxx123' WITH GRANT OPTION; flush privileges; //---別忘記了。。否則又蒙圈 注:For boolean options, the value may be specified as 1 or ON to enable the option, or as 0 or OFF to disable the option
18.常見問題: 1. 報錯:CMAKE_CXX_COMPILER-NOTFOUND 需要安裝g++ yum install g++ 2. 報錯:Curses library not found yum install ncurses-devel
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz
備註:至於想以什麼方式下載都無所謂,總之得到原始碼就可以了~
2.確認需要的開發工具的版本,都要滿足mysql安裝版本的需要
Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.cmake 3.75+,gcc 4.21+,perl if you intend to run test scripts 3.建立mysql的安裝目錄 mysqlmkdir mysql526
備註:一般在虛擬機器、測試環境、開發機、伺服器上安裝的時候都不會直接使用root許可權進行安裝,因為使用普通使用者安裝會降低伺服器的風險,但是同時也帶來了一個問題,就是對於預設的安裝路徑下我們沒有讀寫許可權,這時候按照官方簡易的文件安裝就會失敗,或者出現各種各樣的無法連線、無法啟動等錯誤
此處的方法是用普通使用者許可權進行安裝
4.建立幾個相應的資料夾:tmp, var, etc,
cd mysql526
mkdir tmp var etc
5.執行cmake建立makefile
cmake . -DCMAKE_INSTALL_PREFIX=/home/work/mysql526 -DEFAULT_CHARSET=utf8 -DEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/home/work/mysql526/tmp/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DTMPDIR=/home/work/mysql526/log/
引數介紹:
-DCMAKE_INSTALL_PREFIX:相當於安裝的根目錄,其餘的一些配置,都會安裝在PREFIX/下。比如PREFIX/BIN,等等 -DEFAULT_CHARSET:預設編碼 -DEFAULT_COLLATION=utf8_general_ci:預設排序方式 -DMYSQL_UNIX_ADDR=/home/work/mysql526/tmp/mysql.sock:連線mysql使用的socket檔案,此處很關鍵! -DWITH_INNOBASE_STORAGE_ENGINE=1:使用innodb引擎 -DTMPDIR=/home/work/mysql526/log/:指定tmp資料夾路徑,一般tmp中包含mysql.sock,log,pid等配置 -MYSQL_TCP_PORT=3306:TCP/IP port number, and Unix socket file can be changed at server startup with the --basedir, --port, and --socket options for mysqld. Where applicable,
注:此處如果報錯:可以檢視CMakeCache.txt,
CMakeFiles/CMakeError.log
and CMakeFiles/CMakeOutput.log
under
the build directory解決錯誤後,執行rm CMakeCache.txt,然後再次cmake重新配置
注:如果MYSQL_MAINTAINER_MODE 配置是enable的,它會將warn變成error,可以disable這個選項,再編譯
doc:If compilation fails, check whether the MYSQL_MAINTAINER_MODE option is enabled. This mode causes compiler
warnings to become errors, so disabling it may enable compilation to proceed.5.1cmake介紹:此處編譯使用的是cmake工具
下載地址:https://cmake.org/download/
https://cmake.org/files/v3.4/cmake-3.4.0-rc1.tar.gz
或者cp /home/work/mysql526/support-files/my-medium.cnf /home/work/mysql526/etc/my.cnf 9.編輯my.cnf,配置相關引數的路徑
# The MySQL server
26 [mysqld]
27 port = 3306
28 /home/work/mysql526/tmp/mysql.sock
29 log-error =/home/work/mysql526/log/mysql.err
30 pid-file =/home/work/mysql526/tmp/mysql.pid
10.配置環境變數:
TMPDIR=/home/work/mysql5/tmp/
MYSQL_UNIX_PORT=/home/work/mysql5/tmp/mysql.sock
export TMPDIR MYSQL_UNIX_PORT
11.資料初始化:需要Perl。如果沒有也需要安裝,yum
install perl 然後還得安裝yum install perl-Data-Dumper
記得指定引數,要讀取我們剛剛配置的my.cnf配置檔案,否則白折騰了,user就是你的使用者名稱,資料初始化結束後,去data目錄下能看到多了test以外的資料檔案
scripts/mysql_install_db --defaults-file=/home/work/mysql526/etc/my.cnf --user=work --basedir=/home/work/mysql526/ --datadir=/home/work/mysql526/data/
13.安全 守護程序 啟動msyql ------ 至於為啥帶my.cnf引數,請參考下一章
--help : 帶my.cnf引數啟動,配置各種許可權 //**這個還必須要指定這個配置引數 /home/work/mysql526/bin/mysqld_safe --defaults-file=/home/work/mysql526/etc/my.cnf
14.設定密碼 1./home/work/mysql526//bin/mysqladmin -u root password 設定密碼:xxx123
2./home/work/mysql526//bin/mysqladmin -u root -h cp01-vm-epc-wiseapp5.epc.com password 設定密碼:xxx123
15.執行product環境清理工作,提高安全性 在product環境執行:/home/work/mysql526//bin/mysql_secure_installation 16.配置指定的IP可以訪問:配置10.126.107.119使用root,xxx123連線, GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.126.107.119' IDENTIFIED BY 'xxx123' WITH GRANT OPTION; flush privileges; //---別忘記了。。否則又蒙圈 注:For boolean options, the value may be specified as 1 or ON to enable the option, or as 0 or OFF to disable the option
18.常見問題: 1. 報錯:CMAKE_CXX_COMPILER-NOTFOUND 需要安裝g++ yum install g++ 2. 報錯:Curses library not found yum install ncurses-devel