Linux下原始碼安裝 mysql5.6.tar.gz
阿新 • • 發佈:2019-01-10
·[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 '密碼'