mariadb

MariaDB介紹    

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

 

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

 

編譯安裝MariaDB

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

     


下載地址

#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

    

   wKiom1NKTwjTzvkuAAAVOx5o9RI374.jpg

 

  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.jpg

   

   wKioL1NKWYuCOU0EAAGBQogMBDc233.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



本文出自 “西風瘦豬” 博客,請務必保留此出處http://jungege.blog.51cto.com/4102814/1394924

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