1. 程式人生 > >在centos7上手動安裝二進制mariadb

在centos7上手動安裝二進制mariadb

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存儲引擎,替換了MySQLMyISAM存儲引擎,它使用了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