1. 程式人生 > >Linux下原始碼安裝 mysql5.6.tar.gz

Linux下原始碼安裝 mysql5.6.tar.gz

·[TOC]

前言

很快遷移到 mysql 5.6版本。 安裝卻和之前的方式有些不一樣 做下記錄。

5.6的原始碼安裝用到的是cmake, 需要事先安裝完畢。 中間遇到的依賴問題都可以用 包管理器 search 包。 然後再安裝依賴包。

記錄下安裝步驟

前期準備

#  uname -a
Linux 2.6.32-642.1.1.el6.x86_64 #1 SMP Tue May 31 21:57:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

# cat /etc/redhat-release
CentOS release 6.8 (Final)

包下載:

  • 官網下載即可

建立mysql使用者

# pwd
/home/work/local/A_Environment/mysql-5.6.22

# groupadd mysql 
# useradd -r -g mysql mysql  
# chown -R mysql .  
# chgrp -R mysql .  

// 需要注意不能換行, 實在不行貼到文字框再貼出來
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DDEFAULT_CHARSET=utf8    -DENABLED_LOCAL_INFILE=ON  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_FEDERATED_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock  -DWITH_DEBUG=0  -DMYSQL_TCP_PORT=3306 -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER-NOTFOUND=gcc -DCMAKE_CXX_COMPILER=g++

環境上需要注意的是:

  • centos 中gccc就叫gcc, 但是g++叫gcc-c++.x86_64
  • curses 用這個 ncurses-devel.x86_64

安裝

編譯很簡單, 如上準備完畢之後已經有了 Makefile, 只需要 make -j 多執行緒編譯即可.

我在編譯的時候因為輸出太大量被伺服器給關閉連結了。 可以這樣:

# pwd
/home/work/local/A_Environment/mysql-5.6.22
# nohup make -j &

不過強烈不建議在自己機器上編譯, 因為我編譯的時候把機器搞掛了。

make 完畢之後

# pwd
/home/work/local/A_Environment/mysql-5.6.22 # make install

安裝檔案就跑到 /usr/local/mysql 裡面去了。

安裝很簡單:

// 此處是一個取巧操作。 可以避免很多的麻煩
# ln -s  /usr/local/mysql /var/lib/mysql
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql

// 完畢之後不要忘了許可權的更改
# chown -R root:root .
# chown -R mysql:mysql data/

啟動以及使用

以mysql使用者啟動

$ su mysql
$ pwd
/usr/local/mysql
$ sh bin/mysqld_safe &
// 定製服務
$ sudo cp support-files/mysql.server /etc/init.d/mysqld
// 登陸前需要先修改密碼
$ mysqladmin –u root password '密碼'