centos mariadb原始碼安裝過程

2021-09-02 12:47:37 字數 3474 閱讀 6772

[size=medium]

# wget

#將原始碼複製或移動到/usr/local/src中(/usr/local/src一般用來存放源**)

# cp mariadb-5.5.37.tar.gz /usr/local/src/

二、新增mysql組的mysql使用者

1、建立mysql使用者組

# grep mysql /etc/group

#查詢系統中是否有mysql這個使用者組,沒有則新增。

# groupadd mysql

#增加乙個名為mysql的使用者組

2、建立mysql使用者

# grep mysql /etc/passwd

#查詢系統中是否有mysql這個使用者,沒有則新增。

# useradd mysql -g mysql -m -s /sbin/nologin

#增加乙個名為mysql的使用者。

-g:指定新使用者所屬的使用者組(group)

-m:不建立根目錄

-s:定義其使用的shell,/sbin/nologin代表使用者不能登入系統。

三、安裝cmake

首先檢查cmake是否已經安裝

# cmake --version

# wget

2.安裝

# cp cmake-2.8.5.tar.gz /usr/local/src/

# cd /usr/local/src/

# tar -zxvf cmake-2.8.5.tar.gz

# cd cmake-2.8.5

# ./bootstrap

# make

# make install

四、安裝mariadb

#建立資料庫存放資料檔案的目錄

# mkdir -p /data/mariadb_data/mysql/

#解壓mariadb壓縮包

# cd /usr/local/src/

# tar -zxvf mariadb-5.5.37.tar.gz

# cd mariadb-5.5.37

#安裝特定的開發包(防止編譯時出錯)

# yum -y install readline-devel zlib-devel openssl-devel

#安裝mariadb

[quote]指定安裝檔案的安裝路徑時常用的選項:

-dcmake_install_prefix=/usr/local/mysql

-dmysql_datadir=/data/mysql

-dsysconfdir=/etc

預設編譯的儲存引擎包括:csv、myisam、myisammrg和heap。若要安裝其它儲存引擎,可以使用類似如下編譯選項:

-dwith_innobase_storage_engine=1

-dwith_archive_storage_engine=1

-dwith_blackhole_storage_engine=1

-dwith_federated_storage_engine=1

若要明確指定不編譯某儲存引擎,可以使用類似如下的選項:

-dwithout__storage_engine=1

比如:-dwithout_example_storage_engine=1

-dwithout_federated_storage_engine=1

-dwithout_partition_storage_engine=1

如若要編譯進其它功能,如ssl等,則可使用類似如下選項來實現編譯時使用某庫或不使用某庫:

-dwith_readline=1

-dwith_ssl=system

-dwith_zlib=system

-dwith_libwrap=0

其它常用的選項:

-dmysql_tcp_port=3306

-dmysql_unix_addr=/tmp/mysql.sock

-denabled_local_infile=1

-dextra_charsets=all

-ddefault_charset=utf8

-ddefault_collation=utf8_general_ci

-dwith_debug=0

-denable_profiling=1[/quote]

# cmake . -dcmake_install_prefix=/usr/local/mariadb -dmysql_datadir=/data/mariadb_data/mysql/ -dsysconfdir=/etc -dwith_innobase_storage_engine=1 -dwith_atchive_storage_engine=1 -dwith_blackhole_storage_engine=1 -dwith_readline=1 -dwith_ssl=system -dwith_zlib=system -dwith_libwrap=0 -dmysql_unix_addr=/tmp/mysql.sock -ddefault_charset=utf8 -ddefault_collation=utf8_general_ci

# make && make install

五、資料配置

#初始化資料庫

# cd /usr/local/mariadb/

# chown -r mysql:mysql * 更改屬主屬組

# scripts/mysql_install_db --datadir=/data/mariadb_data/mysql/ --user=mysql 初始化資料庫檔案

# chown -r root * 更改屬主為root

#設定service啟動和開機啟動

# cd /usr/local/mariadb/

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 使mysqld可通過service命令執行

# chmod +x /etc/rc.d/init.d/mysqld 新增執行許可權

# chkconfig --add mysqld 新增mysqld為系統服務

# chkconfig mysqld on 新增開機啟動

#配置檔案

# cd /usr/local/mariadb/

# cp support-files/my-large.cnf /etc/my.cnf

# vi /etc/my.cnf 編輯配置檔案[mysqld]段新增如下內容

[mysqld]

datadir = /data/maraidb_data/mysql 資料目錄

character-set-server=utf8 設定編碼為utf-8

thread_concurrency = 4 設定執行緒數=核心數x2

#設定mysql客戶端命令軟連線,使可以在任意目錄執行mysql命令

# ln -s /usr/local/mariadb/bin/mysql /usr/bin

[/size]

AbstractCollection原始碼分析

abstractcollection抽象類提供了collection的骨架實現,collection分析請看 這裡直接看它的 是如何實現的.public abstract iterator iterator 該方法沒有實現.public abstract int size 該方法沒有實現.publi...

ThreadPoolExecutor原始碼閱讀

執行緒池解決兩個問題 一是復用執行緒,減少建立銷毀執行緒帶來系統開銷 二是限定系統資源使用邊界,避免大量執行緒消耗盡系統記憶體 適用於互不依賴,執行時間短,不需要對執行緒控制操作的執行緒 新增任務時,1.若執行緒數量小於corepoolsize,則新增執行緒執行任務 2.若執行緒數量大於等於core...

OrangePi One Android 原始碼編譯

一 系統環境搭建參照 二 lichee原始碼編譯 1.檢視help build.sh h2.配置核心 cd linux 3.4 make arch arm menuconfig 進入配置頁面,上下移動列表,空格是選擇列表,左右移動選擇退出選項 3.首次編譯執行清除 在 lichee linux3.4...