centos mariadb源码安装过程


一、下载mariadb源码:
[root@centos ~]# wget http://archive.mariadb.org//mariadb-5.5.37/source/mariadb-5.5.37.tar.gz
#将源码复制或移动到/usr/local/src中(/usr/local/src一般用来存放源代码)
[root@centos ~]# cp mariadb-5.5.37.tar.gz /usr/local/src/

二、添加mysql组的mysql用户
1、建立mysql用户组
[root@centos ~]# grep mysql /etc/group
#查询系统中是否有mysql这个用户组,没有则添加。
[root@centos ~]# groupadd mysql
#增加一个名为mysql的用户组

2、建立mysql用户
[root@centos ~]# grep mysql /etc/passwd
#查询系统中是否有mysql这个用户,没有则添加。
[root@centos ~]# useradd mysql -g mysql -M -s /sbin/nologin
#增加一个名为mysql的用户。
-g:指定新用户所属的用户组(group)
-M:不建立根目录
-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。

三、安装cmake
首先检查cmake是否已经安装
[root@centos ~]# cmake --version

1.下载
[root@centos ~]# wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz

2.安装
[root@centos ~]# cp cmake-2.8.5.tar.gz /usr/local/src/
[root@centos ~]# cd /usr/local/src/
[root@centos ~]# tar -zxvf cmake-2.8.5.tar.gz
[root@centos ~]# cd cmake-2.8.5
[root@centos ~]# ./bootstrap
[root@centos ~]# make
[root@centos ~]# make install

四、安装mariadb
#创建数据库存放数据文件的目录
[root@centos ~]# mkdir -p /data/mariadb_data/mysql/
#解压mariadb压缩包
[root@centos ~]# cd /usr/local/src/
[root@centos src]# tar -zxvf mariadb-5.5.37.tar.gz
[root@centos src]# cd mariadb-5.5.37

#安装特定的开发包(防止编译时出错)
[root@centos src]# yum -y install readline-devel zlib-devel openssl-devel

#安装mariadb
引用
指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc

默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1

若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0

其它常用的选项:
-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


[root@centos mariadb-5.5.37]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/data/mariadb_data/mysql/ -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ATCHIVE_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@centos mariadb-5.5.37]# make && make install

五、数据配置

#初始化数据库
[root@centos mariadb-5.5.37]# cd /usr/local/mariadb/
[root@centos mariadb]# chown -R mysql:mysql *      更改属主属组
[root@centos mariadb]# scripts/mysql_install_db --datadir=/data/mariadb_data/mysql/ --user=mysql   初始化数据库文件
[root@centos mariadb]# chown -R root *     更改属主为root

#设置service启动和开机启动
[root@centos mariadb]# cd /usr/local/mariadb/
[root@centos mariadb]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld  使mysqld可通过service命令运行
[root@centos mariadb]# chmod +x /etc/rc.d/init.d/mysqld  添加执行权限
[root@centos mariadb]# chkconfig --add mysqld     添加mysqld为系统服务
[root@centos mariadb]# chkconfig mysqld on        添加开机启动

#配置文件
[root@centos mariadb]# cd /usr/local/mariadb/
[root@centos mariadb]# cp support-files/my-large.cnf /etc/my.cnf
[root@centos mariadb]# vi /etc/my.cnf 编辑配置文件[mysqld]段添加如下内容
[mysqld]
datadir = /data/maraidb_data/mysql  数据目录
character-set-server=utf8         设置编码为utf-8
thread_concurrency = 4    设置线程数=核心数x2

#设置mysql客户端命令软连接,使可以在任意目录执行mysql命令
[root@centos mariadb]# ln -s /usr/local/mariadb/bin/mysql /usr/bin

猜你喜欢

转载自wenhao880204.iteye.com/blog/2253720