各种库:

apt install -y build-essential zlib1g-dev libpcre3 libpcre3-dev unzip cmake libncurses5-dev libpam0g-dev bison libboost-dev libssl-dev openssl g++ libxml2-dev libcurl3-openssl-dev libpng-dev libfreetype6-dev libfreetype6-dev dnutls-dev

mariadb是mysql原作者另外开发的一个版本,因为mysql被收购以后成了收费软件,而作者想出一个免费版.

mariadb使用方法和mysql一样,可以直接用mysql的库连接.

在这下载包并解压:

https://mariadb.org/download/

建立组和用户:

groupadd mysql

useradd -s/sbin/nologin -M -g mysql mysql

建立数据文件夹,并分配给mysql用户

mkdir  /home/mariadb

chown -R mysql:mysql /home/mariadb

编译:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/home/mariadb -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

这个过程中如果提示找不到库,可以像我这样操作:

make -j2

make install

配置:

cd /usr/local/mariadb/

chown -R mysql:mysql .   (←注意后面的'点')

cp ./support-files/my-huge.cnf /home/mariadb/mariadb-10.0.20.cnf

scripts/mysql_install_db --datadir=/home/mariadb --user=mysql

mkdir /var/log/mariadb

 配置systemd:

vim /usr/lib/systemd/system/mariadb.service

[Unit]
Description=MariaDB Server
After=network.target

[Service]
User=mysql
Group=mysql
PIDFile=/tmp/mariadb.pid
ExecStart=/usr/local/mariadb/bin/mysqld_safe --defaults-file=/home/mariadb/mariadb-10.0.20.cnf --user=mysql --datadir=/home/mariadb --pid-file=/tmp/mariadb.pid

[Install]
WantedBy=multi-user.target

  

配置密码:

/usr/local/mariadb/bin/mysqladmin -u root password 'new-password'

部署mariadb数据库到linux(源码编译安装)的更多相关文章

  1. 部署maria数据库到linux(源码编译安装)

    maria数据库是mysql原作者另外开发的一个版本,使用方法和mysql一样,可以直接用mysql的库连接. 在这下载包并解压: https://mariadb.org/download/ 建立数据 ...

  2. linux源码编译安装OpenCV

    为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上.先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以 ...

  3. Linux源码编译安装httpd

    Linux安装软件采用源码编译安装灵活自由,适用于不同平台,维护也十分方便. 源码编译的安装方式一般由3个步骤组成: 1.配置(configure) 2.编译(make) 3.安装(make inst ...

  4. Linux 源码编译安装软件

    程序包编译安装的步骤: 源代码-->预处理-->编译-->汇编-->链接-->执行 多文件:文件中的代码之间,很可能存在跨文件依赖关系 1.编译源码的项目工具 使用相关的 ...

  5. Linux源码编译安装MySQL5.7

    目录[-] 一.环境准备: 二.升级系统: 三.做一些准备工作(以下Linux命令均在su到root用户操作): 四.开始编译安装mysql-5.7.9: 一.环境准备: 我尝试过以下环境都是能成功的 ...

  6. Linux源码编译安装程序

    一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...

  7. Linux源码编译安装php7.2

    以下简单的介绍下如何源码安装PHP,对于版本不一定是7.2,也可以是7.3,当然方法都是换汤不换药的,核心东西不变. 一.下载PHP源码 需要到指定的路径下载源码,执行下面的命令 wget http: ...

  8. linux源码编译安装php出现 cannot find -lltdl

    原因: 在编辑php时添加的“–with-mcrypt”选项造成. 解决方法: 1.如果不需要mcrypt,那么编辑php时去掉该选项,然后再make.make install. 2.如果需要mcry ...

  9. Linux源码编译安装php7.3

    ---恢复内容开始--- ps:一切从简 一.安装所需环境 yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel ...

随机推荐

  1. Ubuntu:替换DASH图标

    替换DASH图标 替换ubuntu搜索的图标 默认图标位置 备份 sudo mv /usr/share/unity/icons/launcher_bfb.png /usr/share/unity/ic ...

  2. ZedGraph实时曲线实例

    2010-10-17 11:23:58| 分类: ASP.NET |举报|字号 订阅public partial class FrmMain : Form { // 起始时间以毫秒为单位 int ti ...

  3. Python mode_w

    # 每次使用w模式打开文件, 都会清空这个文件(坑) f = open("胡辣汤",mode="w",encoding="utf-8") f ...

  4. 对抗网络之目标检测应用:A-Fast-RCNN

    对抗网络之目标检测应用:A-Fast-RCNN 论文:A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection ...

  5. Magento里显示指定分类的所有子分类

    如何在magento左侧导航栏里显示父分类和子分类名,如果需要在magento显示指定分类的所有子分类,可以用以下的方法: <!--? php   if($category--->hasC ...

  6. Android shell command execute Demo

    package com.android.utils; import java.io.File; import java.io.IOException; import java.io.InputStre ...

  7. 多边形面积问题(hdoj2036)

    杭电oj2036http://acm.hdu.edu.cn/showproblem.php?pid=2036 计算几何,求多边形的面积 只要记住这个公式: 如果逆时针给出点坐标,值为正, 如果顺时针给 ...

  8. FutureTask的用法及两种常用的使用场景 + FutureTask的方法执行示意图

    from:  https://blog.csdn.net/linchunquan/article/details/22382487 FutureTask可用于异步获取执行结果或取消执行任务的场景.通过 ...

  9. nodejs express 学习

    nodejs的大名好多人应该是听过的,而作为nodejs web 开发的框架express 大家也应该比较熟悉. 记录一下关于express API 的文档: express() 创建express ...

  10. es6比es5节省代码的地方总结

    对象方法简写: es5写法: var obj = { name: 'jeff', getName: function () { return this.name; } } es6写法(方法定义里,少写 ...