寫在前面 最近在學習Maria DB,為了方便查閱,又為了將所學的知識重新的梳理,特作此隨筆一篇,希望過後閱讀時能有所感,也希望對大家能夠有所幫助。 安裝前的準備 大家都知道,在Linux上安裝軟體一共有三種方式:1、rpm包安裝 。2、二進位程式包安裝。3、源碼編譯安裝。對於前2種方式安裝起來會便 ...
寫在前面
最近在學習Maria DB,為了方便查閱,又為了將所學的知識重新的梳理,特作此隨筆一篇,希望過後閱讀時能有所感,也希望對大家能夠有所幫助。
安裝前的準備
大家都知道,在Linux上安裝軟體一共有三種方式:1、rpm包安裝 。2、二進位程式包安裝。3、源碼編譯安裝。對於前2種方式安裝起來會便捷不少,但是定製化程度低,當我們需要進行軟體diy時,那麼編譯安裝就再合適不過了。
對於CentOS 6 來說,使用yum安裝,yum源裡面預設提供的是低版本MySQL,因此當我們想要安裝Maria DB時,則需要使用編譯安裝。到CentOS 7後,可以使用yum源直接按照MariaDB。
1、依賴的庫和包
在編譯之前,我們需要安裝一些以來的庫和包
yum -y groupinstall "Development tools" "Server Platform Development" #這兩個庫中包含很多常用的軟體,例如openssl-devel、bison等
yum -y install cmake lrzsz #此處的lrzsz是一個用於物理機和虛擬機之間傳輸文件的軟體,後面要將軟體包從物理機中拷貝到虛擬機中。
2、其他相關的設置
grouped -r -g 306 mysql #添加一個系統組 useraddd -r -u 306 -g 306 mysql #添加一個系統用戶並且加入對應的系統組中 mkdir -p /data/mysql #為MariaDB設置對應目錄 chown -R mysql.mysql /data/mysql #改變對應的屬組屬主,以便寫入數據
安裝mariaDB
1、解壓到制定文件夾
rz #由於此處MariaDB是放到物理機桌面的,因此使用此命令進行傳輸 tar -xf mariadb-10.0.13.tar.gz
cd mariadb-10.0.13.tar.gz
2、安裝
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安裝目錄為/usr/local/mysql,其中mysql目錄可以不事先建立。
-DMYSQL_DATADIR=/data/mysql \ #數據存儲的目錄,需要事先建立,並且設置好屬主屬組,方便對應的屬主屬組讀寫數據
-DWITH_XTRADB_STORAGE_ENGINE=1 \ #預設已存在CSV和MyISAM存儲引擎,因此加入FEDERATEDX、ARCHIVE、MYISAM、INNOBASE、BLACKHOLE存儲引擎。其中innoDB最常用。
-DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \ #加入ssl、zlib庫
-DWITH_ZLIB=system \
-DDEFAULT_CHARSET=utf8 \ #設置字元集
-DDEFAULT_COLLATION=utf8_general_ci #設置排序方式
註:當此步驟出現
“
-- Configuring done
-- Generating done
” 時,即可進行下一步安裝。
此步驟會生成一個"CMakeCache.txt"文件,當出現問題時,需要將其刪除後重新編譯。
make
make install
安裝完成後
1、MariaDB加入環境變數
vim /etc/profile.d/mysql.sh export PATH=$PATH:/usr/local/mysql/bin #加入此內容 . /etc/profile.d/mysql.sh #重新載入,使其生效,必須使.sh結尾,否則僅僅當前會話生效。
2、設置配置文件並初始化
chown -R mysql.mysql /usr/local/mysql #設置屬主和數組,方便寫入配置文件
cd /usr/local/mysql cp support-files/my-large.cnf /etc/my.cnf #添加配置文件,並且在[mysqld]中加入下麵三行配置信息 "datadir=/data/mysql/ innodb_file_per_table=on skip_name_resolve=on" scripts/mysql_install_db --user=mysql --datadir=/data/mysql #註意:此初始化腳本必須在/usrl/local/mysql這個目錄中執行,否則會報錯。
初始化後,數據目錄會有一些原始數據
ls /data/mysql/
aria_log.00000001 ib_logfile0 mysql-bin.000001 mysql-bin.state
aria_log_control ib_logfile1 mysql-bin.000002 performance_schema
ibdata1 mysql mysql-bin.index test
3、加入系統啟動項
cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld #給腳本增加執行許可權 chkconfig mysqld on #加入開機啟動項
4、MariaDB用戶安全初始化
/usr/local/mysql/bin/mysql_secure_installation
#此步驟會設置root密碼、禁止root遠程登錄、移除一名用戶,刪除測試資料庫,並且重新載入授權表。根據自己喜好選擇即可。
PS:當MariaDB啟動時,才開始進行此操作。
5、登錄操作
[root@mycentos ~]# mysql -uroot -p #登錄命令,以root用戶登錄,密碼為上一步操作所設置的。 Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 15 Server version: 10.0.13-MariaDB-log Source distribution #此處為MariaDB的版本 Copyright (c) 2000, 2014, Oracle, SkySQL Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> #已經進入資料庫,完成編譯安裝!!!