CentOS 6.9 基于gcc4.8.5编译安装mariadb-10.2.12

系统平台:

CentOS release 6.9 (Final)

内核 2.6.32-696.el6.x86_64

1.去官网下载适合的源码包

http://mariadb.org/

mariadb-10.2.12.tar.gz

检查系统内是否安装了数据库。

#rpm -qa|grep MariaDB
#rpm -qa|grep mysql

mariadb-10.2.12需要c++11特性支持,gcc4.8以下并未包含,而Centos 6.9的gcc版本为4.4.7

但在编译程序或运行程序时需要更高版本的gcc,只能手动编译安装gcc。

而 CentOS 7 则依然使用其 4.8,所以基于兼容性考虑,我选择升级到 4.8.5

2. gcc 4.8.5编译安装

gcc编译请参考

3. cmake 编译安装

cmake编译请参考

也可以使用yum cmake的2.8版本

4.安装依赖包

# yum install ncurses-devel libaio-devel openssl-devel -y

请自行参考
https://mirrors.aliyun.com/help/centos

#cmake --version
cmake version 3.10.2

5.解压mariadb包至任意临时目录

#tar xvf mariadb-10.2.12.tar.gz -C /app/sdb/

6.编译安装mariadb

#mkdir /app/sdb/db-build
#cd /app/sdb/db-build/

以下的编译参数,根据自己的需求定制

#cmake /app/sdb/mariadb-10.2.12  -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-10.2.12  -DSYSCONFDIR=/etc  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EXTRA_CHARSETS=all  -DWITH_READLINE=1  -DWITH_SSL=system  -DWITH_ZLIB=system  -DWITH_EMBEDDED_SERVER=1  -DENABLED_LOCAL_INFILE=1  -DWITH_MYISAM_STORAGE_ENGINE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_MEMORY_STORAGE_ENGINE=1  -DWITH_PARTITION_STORAGE_ENGINE=1  -DWITH_ARCHIVE_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITH_DEBUG=0

我使用的AUSU笔记本是 I5  1CPU 4核,4GB内存,20分钟编译安装完成。
# make -j 8 && make install

编译完成占用空间为3.3GB

7.创建软链接mysql指向解压后的目录

#cd /usr/local/
#ln -s mariadb-10.2.12 mysql

8.创建用于mysql的组和账号

#groupadd -g 500 mysql
#useradd -g 500 -u 500 -s /sbin/nologin -M mysql

9.修改mysql文件夹所属者和所属组

#chown -R mysql.mysql /usr/local/mysql/

10.添加PATH至环境变量中

#echo ‘PATH=/usr/local/mysql/bin:$PATH‘ >> /etc/profile.d/mysql.sh

检查文件
#cat /etc/profile.d/mysql.sh

加载环境变量文件 并检查
#source /etc/profile.d/mysql.sh
#echo $PATH

#mysql -V
mysql  Ver 15.1 Distrib 10.2.12-MariaDB, for Linux (x86_64) using readline 5.1

11.创建数据库存放文件夹并修改权限

#mkdir -pv /data/sqldb/3306/{log,data,pid,socket,tmp}
#chown -R mysql.mysql /data/sqldb/
#chmod -R 770 /data/sqldb/

12.复制主配置文件my.cnf

这里先要确认下本机的内存多少,以便使用一个参考模板。

#grep memory support-files/*

找到适合本机内存的模板

本机内存为512M,所以选择了my-large.cnf这个配置文件

#\cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf

13.修改配置文件

# vim /etc/my.cnf

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
pid-file = /data/sqldb/3306/pid/mysql.pid
datadir = /data/sqldb/3306/data
tmpdir = /data/sqldb/3306/tmp
innodb_file_per_table = 1
skip_name_resolve = 1
log-error = /data/sqldb/3306/log/error.log

14.安装数据库相关文件

#cd /usr/local/mysql/

查看下安装程序的安装参数

#/usr/local/mysql/scripts/mysql_install_db --help

#./scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql

15.复制启动服务脚本至/etc/init.d目录

#cp support-files/mysql.server /etc/init.d/mysqld

16.添加开机启动服务,并启动mysqld服务

#chkconfig --add mysqld

#service mysqld start

Starting MySQL.180128 23:54:38 mysqld_safe Logging to ‘/data/sqldb/3306/log/error.log‘.
180128 23:54:38 mysqld_safe Starting mysqld daemon with databases from /data/sqldb/3306/data
                                                     [  OK  ]

#lsof -i:3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  2067 mysql   21u  IPv6  12603      0t0  TCP *:mysql (LISTEN)

17.进行安全配置

#/usr/local/mysql/bin/mysql_secure_installation

Enter current password for root 默认为空
Set root password   设置mysql root密码
Remove anonymous users  是否移除匿名用户登录
Disallow root login remotely    是否禁止root远程登录
Remove test database and access to it?  是否移除test数据和test账号
Reload privilege tables now?    是否立即更新权限
Thanks for using MariaDB!

18.测试

#mysql -u root -p
Enter password: 

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 19
Server version: 10.2.12-MariaDB-log Source distribution
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

MariaDB [(none)]> use mysql;

建立一个账号测试远程登录

MariaDB [mysql]> grant all on *.* to ‘hunk‘@‘%‘ identified by ‘123456‘;
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

#mysql -uhunk -p123456 -h192.168.5.128

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 21
Server version: 10.2.12-MariaDB-log Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

MariaDB [(none)]>

原文地址:http://blog.51cto.com/191226139/2066214

时间: 2024-10-06 01:03:05

CentOS 6.9 基于gcc4.8.5编译安装mariadb-10.2.12的相关文章

源码包编译安装mariaDB

前言 MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,由于其体积小.速度快.总体拥有成本低,并且之前是完全开源,所以大受欢迎.但由于后面MySQL卖给了SUN,随后SUN被Oracle收购,虽然也有开源免费版本,但是很多功能都需要另外购买商业版本,导致现在MySQL使用份额逐渐减少.所以MariaDB就是因为这种原因诞生出来,成为数据库管理系统是MySQL的一个分支. 先前已经使用二进制安装了mariaDB(详细请查看http://www.178linux.com/8787

使用RPM包离线安装MariaDB 10.0.20 , 基于CentOS 6.6-x86-64

使用RPM包[离线]安装 MariaDB 10.0.20,基于CentOS 6.6-x86-64 Minimal 湘中朱生 2015-07-01 于深圳福田 QQ: 872007255 MariaDB交流群: 198111730 文档说明: 1. 网上有很多关于MariaDB/Mysql数据库的安装技术博客文档,主要有源码编译安装和Yum源安装,有些写得很规范优秀,但很少有基于离线RPM包安装的. 2. 源码编译安装对于初学者而言门槛过高, 很容易打击MariaDB初学者学习探索的积极性; Yu

CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境

准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/iptables #编辑

CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11

这篇文章主要介绍了CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11,需要的朋友可以参考下准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动 2.安装ipta

CentOS编译安装MariaDB 及系统初始化

编译安装MariaDB 注意:MariaDB的编译安装方式与MySQL相同 1.准备生产环境中数据目录(逻辑卷)   # fdisk /dev/sda 创建一个逻辑分区/dev/sda6   创建逻辑卷 #pvcreate /dev/sda6 #vgcreate myvg /dev/sda6 #lvcreate -L 10G -n mydata /dev/myvg 格式化逻辑卷 #mke2fs -t ext4 /dev/myvg/mydata   创建数据目录 #mkdir -pv /mydat

在centos上编译安装mariadb数据库

一.安装前提(准备数据文件.安装其他依赖的软件) 1.准备数据存放的目录 [[email protected] ~]# fdisk /dev/sdb  (fdisk /dev/sdb 创建一个逻辑分区/dev/sdb1)Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with disk identifier 0xa592b3

      Mysql的介绍以及编译安装mariadb

一:mysql的介绍: mysql数据库是工作于线程模式的.是一种关系型数据库,有严格的数据模型结构,这样在并发读写量大的时候,就不得不对其进行扩展,而这种方式扩展还是非常麻烦的. 由于读操作是可以缓存的,所以我们可以为mysql提供缓存服务器. 程序读取数据时先查缓存服务器,再查mysql数据库,这样如果缓存有访问的内容,那么就可以节省 访问时间. 二:关系型数据管理系统 RDBMS 关系模型中主要组件: 数据方案:数据库 表,视图(虚表,基于某种关系用语句形成的),索引, 存储过程,存储函数

编译安装MariaDB源码包

因为MySQL的发展趋势不甚乐观,MariaDB已替代MySQL被CentOS 7做为默认组件,如果想在CentOS 6中使用最新的MariaDB,则需要我们手动安装,其安装方式有三种: 1.RPM包安装 2.二进制包安装 3.源码包安装 下面我们来介绍如何使用源码包来安装MariaDB,系统平台:CentOS 6.5:MariaDB版本:10.0.19 一.获得MariaDB源码包 可以通过MariaDB的官方网站来获得MariaDB的最新源码包,下载地址为:https://downloads

CentOS7编译安装MariaDB

一.环境信息: 操作系统版本:CentOS Linux release 7.3.1611 (Core) 内核版本:3.10.0-514.el7.x86_64 MariaDB版本:mariadb-10.2.10 二.安装开发包组工具 查看开发包组是否安装 yum grouplist 设置显示显示方式 localectl set-locale LANG=en_US.UTF-8 安装开发包组工具 yum -y install "Development Tools" 安装依赖包 yum -y