CentOS 7 原始碼編譯MariaDB

2022-05-30 00:48:13 字數 3866 閱讀 1049

安裝 scl  devtoolset-7

scl(software collections)可以讓你在同乙個作業系統上安裝和使用多個版本的軟體,而不會影響整個系統的安裝包。scl為社群的以下需求而設計:建立和使用軟體集合生產系統、概念驗證系統、開發測試平台。scl目前已經支援fedora和rhel(衍生版本如centos也包含在內)

scl的建立就是為了給rhel/centos使用者提供一種以方便、安全地安裝和使用應用程式和執行時環境的多個(而且可能是更新的)版本的方式,同時避免把系統搞亂。與之相對的是第三方源,它們可能會在已安裝的包之間引起衝突

某些軟體在其上會編譯不過,自己編譯高版本的 gcc 可能也會遇到一些問題,比較麻煩。但有乙個第三方庫可以解決這個問題,即devtoolsetdevtoolset 有很多版本,例如 devtoolset-2(gcc-4.8.2)、devtoolset-3(gcc-4.9.2)、devtoolset-4(gcc-5.2.1)。

mariadb 編譯 tokudb 引擎時會用到 c++11 標準,系統裡 gcc 最高版本 4.8.5 是支援 c++11 標準的,可就算指定了-dcmake_cxx_flags=-std=c++11也不行。手動編譯更高版本的 gcc 又太麻煩,這裡直接安裝了 devtoolset-7,當然你禁用 tokudb 引擎也無可厚非

[root@sql1 ~]# yum -y install centos-release-scl devtoolset-7

[root@sql1 ~]# gcc --version

gcc (gcc) 4.8.5

20150623 (red hat 4.8.5-28

)2015

free software foundation, inc.

包括沒有適銷性和某一專用目的下的適用性擔保。

[root@sql1 ~]# scl enable devtoolset-7

bash

[root@sql1 ~]# gcc --version

gcc (gcc) 7.3.1

20180303 (red hat 7.3.1-5

)2017

free software foundation, inc.

this is

free software; see the source for

copying conditions. there is no

warranty; not even

for merchantability or fitness for a particular purpose.

安裝依賴包

# 安裝依賴包

[root@sql1 ~]# yum

install -y gnutls-devel gcc

gcc-c++ cmake ncurses-devel bison-devel bison libaio-devel libevent libxml2-devel

# 建立mysql使用者和組

[root@sql1 ~]# useradd -m -s /sbin/nologin mysql

# 建立資料庫資料存放目錄

[root@sql1 ~]# mkdir /mydata/mariadb/ -p

[root@sql1 ~]# chown -r mysql.mysql /mydata

# 解壓、編譯、安裝mariadb

[root@sql1 ~]# tar xf tar mariadb-10.3.8.tar.gz -c /usr/src/[root@sqll ~]# cd /usr/src/mmariadb-10.3.8/[root@sqll mariadb-10.3.8]# cmake . -dcmake_install_prefix=/usr/local/mysql \

-dmysql_unix_addr=/tmp/mysql.sock \

-dmysql_datadir=/mydata/mariadb \

-dsysconfdir=/etc \

-dmysql_user=mysql \

-dmysql_tcp_port=3306

\ -dwith_xtradb_storage_engine=1

\ -dwith_innobase_storage_engine=1

\ -dwith_partition_storage_engine=1

\ -dwith_blackhole_storage_engine=1

\ -dwith_myisam_storage_engine=1

\ -dwith_readline=1

\ -denabled_local_infile=1

\ -dwith_extra_charsets=all \

-ddefault_charset=utf8 \

-ddefault_collation=utf8_general_ci \

-dextra_charsets=all \

-dwith_big_tables=1

\ -dwith_debug=0

\ && make -j4 && make -j4 install

初始化安裝資料庫

[root@sql1 mariadb-10.3.8]# cd /usr/local/mysql/[root@sql1 mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/  --datadir=/mydata/mariadb/[root@sql1 mysql]# 

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mariadb

[root@sql1 mysql]#

chmod +x /etc/init.d/mariadb

[root@sql1 mysql]# chkconfig --add mariadb

[root@sql1 mysql]# ln -s /usr/local/mysql/bin* /usr/local/bin

配置mariadb配置檔案

[root@sql1 mysql]# vim /etc/my.cnf

# 只修改這兩項

datadir=/mydata/mariadb

socket=/tmp/mysql.sock

啟動mariadb資料庫服務

[root@sql1 mysql]# systemctl start  mariadb

# mysql_secure_installation 用來修改密碼、刪除匿名使用者、取消遠端鏈結

[root@sql1 mysql]# mysql_secure_installation

配置完成後就可以用mysql命令使用mariadb了

CentOS 7 原始碼編譯安裝 Redis

wget tar xzf redis 4.0.10.tar.gz cd redis 4.0.10yum y install gcc gcc c kernel devel make等待編譯完成 make prefix usr local redis install mkdir usr local re...

Centos 7 原始碼編譯安裝mysql

1.安裝相關包 yum install bison bison devel zlib devel libcurl devel libarchive devel boostdevel gcc gcc c cmake ncurses devel gnutls devel libxml2 devel op...

centos7編譯原始碼安裝nginx

1 安裝依賴 yum y install gcc zlib zlib devel pcre devel openssl openssl devel 下面說說這些依賴 gcc 因為nginx是由c編寫的,gcc gnu compiler collection,gnu編譯器套件 是由 gnu 開發的程式...