欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos mariadb源码安装过程 博客分类: 数据库 centoslinuxmariadb源码安装数据库

程序员文章站 2024-03-17 08:22:40
...

一、下载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