Linux 下MySQL源碼安裝完整版

來源:互聯網
上載者:User

Linux 下MySQL源碼安裝完整版

在Linux中安裝MySQL,通常為RPM與源碼方式安裝。對於生產環境而言,由於需要自訂諸如安裝路徑、資料檔案位置、字元集以及支援的儲存引擎等多以源碼方式來進行安裝。之前有寫過一篇關於源碼安裝的文章,Linux下基於源碼方式安裝MySQL 5.6(),但不是很完整,因此該文可以作為其補充。以下為具體安裝步驟,供大家參考。 

1、安裝前的有關描述
必備的包和工具
  gcc/g++ :MySQL 5.6開始,需要使用g++進行編譯。
  cmake  :MySQL 5.5開始,使用cmake進行工程管理,cmake需要2.8以上版本。
  bison  :MySQL文法解析器需要使用bison進行編譯。
  ncurses-devel :用於終端操作的開發包。
  zlib    :MySQL使用zlib進行壓縮

功能需要的包
  libxml  :用於XML輸入輸出方式的支援。
  openssl  :使用openssl安全通訊端方式通訊。
  dtrace  :用於診斷MySQL問題。

有關MySQL編譯參數
  CMAKE_BUILD_TYPE            編譯的版本類型:RelWithDebInfo和Debug,不同之處是RelWithDebInfo會進行最佳化。
  CMAKE_INSTALL_PREFIX        指定make install安裝的目標路徑。
  SYSCONFDIR                  指定設定檔的預設路徑。
  MYSQL_DATADIR              指定data目錄的預設路徑。
  WITH_DEBUG                  指定是否有debugging資訊,一般用於源碼調試時,開啟WITH_DEBUG,生產環境關閉。
  ENABLED_PROFILING          指定是否可以使用show profile顯示操作執行的詳細資料。
  DEFAULT_CHARSET            指定預設字元集,可以在啟動的設定檔中指定。
  DEFAULT_COLLATION          指定預設字元比較、排序的規則。
  WITH_EXTRA_CHARSETS        指定其他可能使用的字元集。
  WITH_SSL                    指定SSL的類型,從5.6.6開始預設bundled類型,此外也可以指定SSL庫的路徑地址。
  WITH_ZLIB                  指定zlib的類型,用於壓縮功能。
  ENABLED_LOCAL_INFILE        指定是否允許使用load data infile功能。
  WITH_EMBEDDED_SERVER        指定是否編譯libmysqld嵌入式庫。
  INSTALL_LAYOUT              指定安裝的布局類型。
  WITH_storage_STORAGE_ENGINE 指定編譯支援的儲存引擎,預設支援MyISAM,MERGE,MEMORY,CSV儲存引擎。
  更多詳細參數可參考 http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

本次安裝環境
  [root@SZ-RD03 ~]# cat /etc/issue
  CentOS release 5.9 (Final)
  Kernel \r on an \m
 
  [root@SZ-RD03 ~]# uname -a
  Linux SZ-RD03 2.6.18-348.el5 #1 SMP Tue Jan 8 17:53:53 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
 
  MySQL版本:5.6.12-log Source distribution
  安裝目錄為:/app/soft/mysql/
  資料目錄為:/data/mysqldata
  儲存引擎包括:MEMORY,MyISAM,InnoDB等
  字元集為:UTF8
 

2、源碼安裝MySQL
先安裝需要用到的庫:
  yum -y install gcc gcc-c++
  yum -y install ncurses-devel

下載所需軟體包:
  #將下載的檔案都放到/usr/local/src目錄下,如下
  # cd /usr/local/src
  # wget http://www.cmake.org/files/v2.8/cmake-2.8.11.1.tar.gz
  # wget http://ftp.gnu.org/gnu/bison/bison-2.7.tar.gz
  # wget http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.gz
  # wget http://www.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.12.tar.gz/from/http://cdn.mysql.com/

安裝cmake編譯器
  # cd /usr/local/src
  # tar -xvf cmake-2.8.11.1.tar.gz
  # cd cmake-2.8.11.1
  # ./bootstrap
  # make && make install

安裝m4
  # cd /usr/local/src
  # tar -xvf m4-1.4.16.tar.gz
  # cd m4-1.4.16
  # ./configure && make && make install

安裝bison
  # cd /usr/local/src
  # tar -xvf bison-2.7.tar.gz
  # cd bison-2.7
  # ./configure && make && make install

建立mysql使用者與組,相關目錄
  # /usr/sbin/groupadd mysql
  # /usr/sbin/useradd -g mysql mysql
  # mkdir -p /app/soft/mysql
  # chown -R mysql:mysql /app/soft/mysql
  # mkdir -p /data/mysqldata
  # chown -R mysql:mysql /data/mysqldata/

安裝mysql
  # cd /usr/local/src
  # tar -xvf mysql-5.6.12.tar.gz
  # export CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
  # export CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
  # export CXX=g++
  # cd mysql-5.6.12
  # cmake -DCMAKE_INSTALL_PREFIX=/app/soft/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
    -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=utf8,gbk 
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldata/ -DSYSCONFDIR=/app/soft/mysql/
    -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1
  # make && make install

初始化資料庫
  # cd /app/soft/mysql/
  # ./scripts/mysql_install_db --user=mysql --ldata=/data/mysqldata

 

3、安裝後的收尾工作
配置運行環境
  # vi /etc/profile
  # PATH=/app/soft/mysql/bin:/app/soft/mysql/lib:$PATH
  # export PATH
  # source /etc/profile

建立開機啟動
  # cp support-files/my-default.cnf /etc/my.cnf  #也可以將my.cnf直接複製到安裝檔案位置
  # cp support-files/mysql.server /etc/init.d/mysqld
  # chkconfig --level 35 mysqld on
  # service mysqld start


查檢是否啟動成功
  netstat -ntlp  | grep mysql

設定root密碼
  # mysqladmin -u root password 'xxx'

登陸帳號
  # mysql -uroot -pxxx

配置參數
  根據系統及業務需求配置my.cnf檔案

--------------------------------------分割線 --------------------------------------

Ubuntu 14.04下安裝MySQL

《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF

Ubuntu 14.04 LTS 安裝 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主從伺服器

Ubuntu 12.04 LTS 構建高可用分布式 MySQL 叢集

Ubuntu 12.04下原始碼安裝MySQL5.6以及Python-MySQLdb

MySQL-5.5.38通用二進位安裝

--------------------------------------分割線 --------------------------------------

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.