1、cmake編譯環境mysql
1.編譯環境(CentOS 6)sql
[root@localhost ~]# yum install -y cmake # 在BASE源中,項目構建工具vim
[root@localhost ~]# yum -y groupinstall "Development Tools" "Server Platform Development" # 開發環境安全
[root@localhost ~]# yum install -y ncurses-devel openssl-devel libevent-devel # 依賴包組ide
注意:工具
MySQL 5.5及以上版本或者較新版本的Mariadb時的項目工具再也不是make,而是cmakeui
2.cmake介紹spa
cmake可以獨立於源碼(out-of-source)編譯,即編譯工做能夠在另外一個指定的目錄中而非源碼目錄中進行,保證源碼目錄不受任何一次編譯的影響,所以在同一個源碼樹上能夠進行屢次不一樣的編譯,如針對於不一樣平臺編譯。orm
cmake指定編譯選項的方式不一樣於make,其實現方式對好比下:server
./configure cmake .
./configure --help cmake . -LH 或者 ccmake .
若是想清理此前的編譯所生成的文件,則須要使用以下命令:
make clean
rm CMakeCache.txt
2、編譯安裝Mariadb-5.5
1.建立用戶和數據目錄
[root@localhost ~]# useradd -r mysql
[root@localhost ~]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
[root@localhost ~]# mkdir -pv /mydata/data
2.編譯安裝源碼
[root@localhost ~]# tar xf mariadb-5.5.49.tar.gz
[root@localhost ~]# cd mariadb-5.5.49/
[root@localhost mariadb-5.5.49]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.49 -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
[root@localhost mariadb-5.5.49]# make
[root@localhost mariadb-5.5.49]# make install
3.初始化數據
[root@localhost ~]# cd usr/local/
[root@localhost local]# ln sv mariadb-5.5.49 mysql
[root@localhost local]# cd mysql
[root@localhost mysql]# chown -R root.mysql ./*
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data # 數據初始化
4.編輯配置文件
[root@localhost ~]# mkdir /etc/mysql
[root@localhost mysql]# cp support-files/mylarge.cnf /etc/mysql/my.cnf
[root@localhost mysql]# vim /etc/mysql/my.cnf
datadir = /mydata/data # 指明數據目錄
innodb_file_per_table = ON # innodb存儲引擎工做方式
skip_name_resolve = ON # 跳過名稱解析
5.啓動腳本與啓動服務
[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld # 增長到開機啓動
[root@localhost mysql]# service mysqld start
[root@localhost mysql]# ss -tnl
[root@localhost ~]#/usr/local/mysql/bin/mysql_secure_installation # 安全初始化
7.環境變量和頭文件導出
3、CentOS7示例啓動腳本
[root@localhost ~]# vim /etc/systemd/system/mariadb.service也能夠放置在/usr/lib/systemd/system/mariadb.service
CentOS 7 Unit file示例:
[Unit]
Description=MariaDB database server
After=syslog.target
After=network.target
[Service]
Type=simple
User=mysql
Group=mysql
Execstart=/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql
TimeoutSec=300
Privatetmp=false
[Install]
WantedBy=multi-user.target
[root@localhost ~]# systemctl demon-reload
注意:
也可放置在/usr/lib/systemd/system/mariadb.service