Linux下MySQL 5.6.12資料庫編譯安裝
Linux下MySQL 5.6.12資料庫編譯安裝
下載mysql資料庫,從官網下載,這裡下載的是mysql-5.6.12.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安裝目錄
cd /usr/local/src
下面解釋一下資料庫常用的配置選項。
-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#編譯與安裝
7.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 /usr/local/mysql/my.cnf#修改/usr/local/mysql下面的my.cnf檔案。
加入下面的參數配置,主要是設定一點連接埠和通訊端等。
binlog-format=ROW
log-bin=master-bin.log
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
server-id=1
report-port=3306
port=3306
datadir=/data/mysql
socket=/tmp/mysql.sock
report-host=master.magedu.com
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)
本文永久更新連結地址: