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 |
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 |
初始化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; |
本文出自 “西風瘦豬” 博客,請務必保留此出處http://jungege.blog.51cto.com/4102814/1394924