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)