在centos7上手動安裝二進制mariadb
前言:MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。在存儲引擎方面,使用XtraDB(英語:XtraDB)來代替MySQL的InnoDB。 MariaDB由MySQL的創始人Michael Widenius(英語:Michael Widenius)主導開發,他早前曾以10億美元的價格,將自己創建的公司MySQL AB賣給了SUN,此後,隨著SUN被甲骨文收購,MySQL的所有權也落入Oracle的手中。MariaDB名稱來自Michael Widenius的女兒Maria的名字。
MariaDB基於事務的Maria存儲引擎,替換了MySQL的MyISAM存儲引擎,它使用了Percona的 XtraDB,InnoDB的變體,分支的開發者希望提供訪問即將到來的MySQL 5.4 InnoDB性能。這個版本還包括了 PrimeBase XT (PBXT) 和 FederatedX存儲引擎。
準備工作:準備二進制安裝包,這裏我用的是最新的 mariadb-10.2.8-linux-x86_64.tar.gz
(1)useradd -r -m -d /app/dbdata -s /sbin/nologin mysql
(2)準備數據目錄以/app/dbdata為例,建議使用邏輯卷,數據文件相對比較大。
chown mysql:mysql /app/dbdata
(3)解壓安裝包到相應的目錄下
tar xvf mariadb-VERSION-linux-x86_64.tar.gz -C /usr/local
這裏放在/usr/local目錄下,是因為在安裝包裏指定的解壓路徑就是這裏
cd /usr/local 進入安裝包目錄下
ln -sv mariadb-VERSION mysql 創建一個軟鏈接
或者直接改名字也是可以的
mv mariadb-10.2.8-linux-x86_64 mysql
註:默認的情況下文件目錄的名字叫mysql
chown -R root:mysql /usr/local/mysql
(4)準備配置文件配置格式:類ini格式,各程序由單個配置文件提供配[prog_name] 配置文件查找次序:後面覆蓋前面的配置文件
/etc/my.cnf --> /etc/mysql/my.cnf --> --default-extrafile=/PATH/TO/CONF_FILE --> ~/.my.cnf mkdir /etc/mysql/
註:文件的順序決定了優先級,文件的生效
cp support-files/my-large.cnf /etc/mysql/my.cnf #這裏我們自定義配置文件
註:support-files 目錄裏有模板集合,裏有支持小型,中型,大型,超大型等數據庫配置文件
/etc/mysql/my.cnf 從上面的模板目錄中拷貝出來,然後自定義配置文件
[mysqld]中添加三個選項:
datadir = /app/dbdata
innodb_file_per_table = on innodb 數據庫引擎
skip_name_resolve = on 禁止主機名解析
(5)創建數據庫文件
cd /usr/local/mysql
./scripts/mysql_install_db --datadir=/app/dbdata --user=mysql
註:執行腳本的時候必須在這個相對的路徑下,不然會報錯
例:FATAL ERROR: Could not find ./bin/my_print_defaults
主要是為了生成數據庫相關系統的信息
註:在最小化安裝的時候,有些系統文件是沒有的,必須自己手動安裝才可能
例:出錯信息:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
缺少安裝包libaio和libaio-devel
yum install libaio* 安裝一下就可以了
(6)準備日誌文件
cd /var/log/
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R root:mysql /var/log/mariadb
chmod -R g+w /var/log/mariadb
註:這時要註意,在mysql組當中必須要有寫的權限,不然不能記錄日誌,啟動服務的時候會出錯
(7)準備服務腳本,並啟動服務
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
service mysqld start
export PATH=/usr/local/mysql/bin:$PATH
註:生成path路徑
(8)安全初始化
/user/local/mysql/bin/mysql_secure_installation
註:安全環境修改腳本
在centos7上手動安裝二進制mariadb