天天看點

mysql 資料庫編譯安裝

1.下載下傳mysql資料庫,從官網下載下傳

這裡下載下傳的是mysql-5.1.51.tar.gz

2.下載下傳cmake,下載下傳位址是http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz

把上面的兩個軟體放到/usr/local/src裡。

3.使用yum安裝一些必須的包。

yum install -y make apr* autoconf automake curl curl-devel gcc gcc-c++ gtk+-devel zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat*  cpp glibc libgomp libstdc++-devel keyutils-libs-devel libsepol-devel libselinux-devel krb5-devel  libXpm* freetype freetype-devel freetype* fontconfig fontconfig-devel  libjpeg* libpng* php-common php-gd gettext gettext-devel ncurses* libtool* libxml2 libxml2-devel patch policycoreutils bison

4.編譯安裝cmake

cd /usr/local/src

tar -zxvf cmake-2.8.12.tar.gz

cd cmake-2.8.12

./configure

make

make install

5.安裝mysql

groupadd mysql#添加 mysql組

useradd -g mysql mysql -s /bin/false#添加mysql到mysql組,不允許mysql使用者直接登入系統

mkdir -p /data/mysql#建立資料庫存放目錄

chown -R mysql:mysql /data/mysql#設定mysql資料庫目錄權限

mkdir -p /usr/local/mysql#建立mysql安裝目錄

下面解釋一下資料庫常用的配置選項。

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql    ----指定殘可安裝路徑(預設的就是/usr/local/mysql)

-DMYSQL_DATADIR=/data/mysql          ----mysql的資料檔案路徑

-DSYSCONFDIR=/etc                ----配置檔案路徑

-DWITH_INNOBASE_STORAGE_ENGINE=1        ----使用INNOBASE存儲引擎 

-DWITH_ARCHIVE_STORAGE_ENGINE=1            ----常應用于日志記錄和聚合分析,不支援索引

-DWITH_BLACKHOLE_STORAGE_ENGINE=1      ----黑洞存儲引擎

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1   編譯過程中取消一些存儲引擎指令介紹

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

-DWITH_READLINE=1      ----支援批量導入mysql資料 

-DWITH_SSL=system      ----mysql支援ssl會話,實作基于ssl的資料複

-DWITH_ZLIB=system      ----壓縮庫

-DWITH_LIBWRAP=0        ----是否可以基于WRAP實作通路控制

-DMYSQL_TCP_PORT=3306                  ----預設端口

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock      ----預設套接字檔案路徑

-DENABLED_LOCAL_INFILE=1                ----是否啟用LOCAL_INFILE功能

-DEXTRA_CHARSETS=all  ----是否支援額外的字元集

-DDEFAULT_CHARSET=utf8                  ----預設編碼機制

-DDEFAULT_COLLATION=utf8_general_ci    ----設定預設語言的排序規則

-DWITH_DEBUG=0                          ----DEBUG功能設定

 -DENABLE_PROFILING=1                    ----性能分析功能是否啟用

tar -zxvf mysql-5.6.12#解壓檔案

cd mysql-5.6.12

 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci#配置

make && make install#編譯與安裝

cd /usr/local/mysql#進入安裝目錄

chown .mysql ./* -R#設定安裝目錄下,所有檔案的權限

7. cd  mysql-5.6.12#進入mysql源碼目錄

cp /support-files/mysql.server /etc/init.d/mysqld#複制啟動腳本到/etc/init.d/目錄下并重命名

8.chmod +x /etc/init.d/mysqld#賦予腳本執行權限

9.chkconfig --add mysqld#添加為sysV服務

10.chkconfig mysqld on#開機自啟動

11./usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql#mysql 初始化,basedir制定安裝目錄,datadir制定資料目錄,user指定使用者。

12.cd /data/mysql# 切換到資料目錄

ls#檢視生成的檔案

ibdata1  ib_logfile0  ib_logfile1  mysql  performance_schema  test#該目錄下一般有下面的幾個檔案。

13.vim /etc/my.cnf#修改my.cnf檔案

加入下面的參數配置,把資料目錄加入到配置檔案中

[mysqld]

datadir=/data/mysql

socket=/tmp/mysql.sock

[client]

14.service mysqld start#啟動資料庫

15.mysql指令添加到全局環境變量中

vim /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin

16.重新讀取環境變量

source /etc/profile

17.輸出mysql的man手冊到man指令的查找路徑

vim /etc/man.config

MANPATH /usr/local/mysql/man#加一行

18.輸出mysql的庫檔案

vim /etc/ld.so.conf.d/mysql.conf 

ldconfig -v

/usr/local/mysql/lib:

 libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0

19.輸出mysql的頭檔案到系統檔案

ln -sv /usr/local/mysql/include/ /usr/include/mysql

"/usr/include/mysql" -> "/usr/local/mysql/include/"

20.測試

netstat -tnlp|grep :3306

tcp        0      0 :::3306                     :::*                        LISTEN      17973/mysqld       

21.輸入指令mysql

[root@localhost mysql]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.6.12-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

+--------------------+

| Database           |

| information_schema |

| mysql              |

| performance_schema |

| test               |

4 rows in set (0.22 sec)