編譯安裝MariaDB 及系統初始化

轉自:http://jungege.blog.51cto.com/4102814/1394924


MariaDB介紹    

    MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了 MySQL後,有將MySQL閉源的潛在風險,因此社區採用分支的方式來避開這個風險。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。在存儲引擎方面,使用XtraDB(英 語:XtraDB)來代替MySQL的InnoDB。


   爲了將開源進行到底,接下來讓我們編譯安裝並使用一個MariaDB

編譯安裝MariaDB

      注意:MariaDB的編譯安裝方式與MySQL相同

      1、準備生產環境中數據目錄(邏輯卷)            

# fdisk /dev/sda 創建一個邏輯分區/dev/sda6

wKiom1NKSlLgfwwaAAGKhCogXjM472.jpg

創建邏輯卷
#pvcreate /dev/sda6
#vgcreate myvg /dev/sda6
#lvcreate -L 10G -n mydata /dev/myvg
格式化邏輯卷
#mke2fs -t ext4 /dev/myvg/mydata
創建數據目錄

#mkdir -pv /mydata/data


掛載邏輯捲到數據目錄,並添加到開機自動掛載

wKiom1NKS_eBQkeQAAFnTjUmwVE170.jpg

 2、創建mysql用戶mysql組(考慮到應用安全)

#groupadd -r mysql     創建mysql組
#useradd -g mysql -r -d /mydata/data 創建mysql用戶
#chown mysql;mysql /mydata/data 更改數據目錄的屬主屬組

3、安裝編譯器cmake   
#yum -y install cmake

安裝特定的開發包(防止編譯時出錯)
#yum -y install readline-devel zlib-devel openssl-devel
cmake指定編譯選項的方式不同於make,其實現方式對比如下:
./configure           cmake .
./configure --help    cmake . -LH or
                                                                                          
指定安裝文件的安裝路徑時常用的選項:
-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_<ENGINE>_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
                                                                                          
如果想清理此前的編譯所生成的文件,則需要使用如下命令:
make clean
rm CMakeCache.txt

4、下載MariaDB源碼包5.5.36

#wget https://downloads.mariadb.org/interstitial/mariadb-5.5.36/kvm-tarbake-jaunty-x86/mariadb-5.5.36.tar.gz/from/http://mirrors.tuna.tsinghua.edu.cn/mariadb

5、編譯安裝  

#tar xf mariadb-5.5.36.tar.gz
#cd mariadb-5.5.36
#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data/ -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
#make && make install

6、準備MariaDB腳本及配置文件


初始化數據庫
#cd /usr/local/mysql
#chown -R mysql:mysql ./  更改屬主屬組
#scripts/mysql_install_db --datadir=/mydata/data --user=mysql 初始化庫文件
#chown -R root . 更改屬主爲root
提供腳本
#cd /usr/local/mysql
#cp support-files/mysql.server  /etc/rc.d/init.d/mysqld 提供腳本
#chmod +x /etc/rc.d/init.d/mysqld   賦予執行權限
#chkconfig --add mysqld   添加mysqld爲系統服務
#chkconfig mysqld on      添加爲開機啓動
提供配置文件
#cd /usr/local/mysql
#cp support-files/my-large.cnf  /etc/my.cnf
#vim /etc/my.cnf 編輯配置文件[mysqld]段填寫如下內容
[mysqld]
datadir = /mydata/data  數據目錄
thread_concurrency = 4  設置線程數=核心數x2

 7、提供二進制文件,庫文件,頭文件,man手冊

提供二進制文件
# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
提供庫文件
# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
提供頭文件
# ln -sv /usr/local/include /usr/include/mysql
提供man手冊
# echo 'MANPATH /usr/local/mysql' >> /etc/man.config
# man -M /usr/local/mysql/man mysqld 讓man手冊立刻生效爲最新

 8、啓動服務,連接MariaDB服務器

啓動服務
#service mysqld start
#ss -ntl | grep :3306

wKioL1NKV2Ch6JWcAABikagleSI802.jpgwKioL1NKWYuCOU0EAAGBQogMBDc233.jpg

初始化MariaDB

  1、初始化第一個操作

配置文件my.cnf
          集中式的配置:多個應用程序共用的配置文件
          [mysqld]
          [mysqld_safe]
          [client]
查看mysql服務器的所有配置信息
         #cd /usr/local/mysql/bin
        #. /mysqld --help --verbose | head -20
Default options are read from the following files in the given order:
         /etc/mysql/my.conf  /etc/my.cnf  ~/.my.conf
         使用配置文件的方式
         1、它一次查找每個需要查找的文件,結果是所有文件的並集
         2、如果某參數在多個文件中出現多次,後讀取的最終生效
                                                                   
       # /user/local/mysql/bin/mysqld --help --verbose
         1、顯示mysqld程序啓動時可用的選項,通常都是長選項
         2、顯示mysqld的配置文件中可用的服務變量
           mysql> SHOW GLOGAL VARIABLES
          mysql> SHOW SESSION VARIABLES

2、初始化第二個操作

1、刪除所有匿名用戶
      mysql> DROP USER ''@'localhost';
     mysql> DROP  USER ''@'127.0.0.1'; 
2、給所有的root用戶設定密碼:
   第一種方式
     mysql> set password for usrName@hostName = password('your_passwd');
   第二種方式
     mysql> update user set password = password('your_passwd') where user = 'root'
     mysql> flush privileges;
   第三種方式 (shell命令)
    # mysqladmin -uUserName -hHost password 'new_passwd' -p
      Host爲遠程mysql服務器的ip地址
    # msyqladmin -uUserName -hHost -p flush-privileges;

wKioL1NKXS6T1tXnAADwR6ZJ68U626.jpg



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章