Centos下源码安装MariaDB

一.安装cmack
跨平台编译器:
cmack的重要特性之一是其独立于源码的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这样可以保证源码不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对不同的平台编译。
[root@node2 ~]# yum install cmake -y
若base源中没有此安装包,请下载源码安装。

http://www.cmake.org/files/v3.2/cmake-3.2.3.tar.gz
二.安装mariadb说明
1)cmack的使用:
cmake指定编译选项的方式不同于make,实现方式如下:
./configure cmake .
./configure --help cmake . -LH or ccmake
2)默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
3)若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT__STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
4)如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
5)其它常用的选项:
-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
6)如果想清理此前的编译所生成的文件,则需要使用如下命令:
make clean
rm CMakeCache.txt
三.编译安装

1)安装前准备

可以下载5.0或者10.0版本的,具体区别请移步:http://www.mrliangqi.com/752.html

10.0版本下载:mariadb-10.0.20

5.0版本下载:mariadb-5.5.44
[root@node2 ~]# yum install ncurses-devel
[root@node2 ~]# tar xf mariadb-5.5.44.tar.gz
[root@node2 ~]# groupadd -r -g 306 mysql
[root@node2 ~]# useradd -r -g 306 -u 306 mysql
[root@node2 ~]# mkdir /data -pv
[root@node2 ~]# chown -R mysql.mysql /data/
[root@node2 ~]# cd mariadb-5.5.44
[root@node2 mariadb-5.5.44]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -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
2)编译mariadb
[root@node2 mariadb-5.5.44]#make
3)安装mariadb
[root@node2 mariadb-5.5.44]#make install
4)初始化数据库
[root@node2 mysql]# chown -R root.mysql ./* //修改属主属组
[root@node2 mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/
[root@node2 mysql]# ls /data/ //验证下初始化生成的数据库
aria_log.00000001 aria_log_control mysql performance_schema test
5)复制并配置文件
[root@node2 mysql]# mkdir /etc/mysql/
[root@node2 mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf
[root@node2 mysql]# vim /etc/mysql/my.cnf
datadir=/data
innodb_file_per_table = ON
skip_name_resolve = ON
6)复制脚本文件并添加脚本到服务列表后启动
[root@node2 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@node2 mysql]# chmod +x /etc/rc.d/init.d/mysqld
[root@node2 mysql]# chkconfig --add mysqld
[root@node2 mysql]# service mysqld start
Starting MySQL... [ OK ]
7)设置mysql全局变量
[root@node2 /]# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin:$PATH
[root@node2 /]# . /etc/profile.d/mysql.sh //重读使之生效
8)安装完成之后,建议执行此脚本。
该脚本会自动连接到mysql之后修改root密码并删除匿名用户的操作。
[root@node2 ~]# /usr/local/mysql/bin/mysql_secure_installatio

MariaDB


发表评论

登录 后发表评论.