准备文件源文件/app/mariadb-10.2.12.tar.gz

cd /app/

tar xf mariadb-10.2.12.tar.gz

cd  mariadb-10.2.12

mkdir /mysqldb

cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \            主程序目录
-DMYSQL_DATADIR=/mysqldb/ \      数据库目录
-DSYSCONFDIR=/etc \                    配置文件目录
-DMYSQL_USER=mysql \          指定的所属用户
-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=/app/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1

  安装development tools,gnutls-devel,ncurses-devel, cmake,ibaio-devel,openssl-devel,libxml2-devel组件,减少报错

  发生错误,需要删除文件夹,重新解压,再安装

make & make install

echo 'PATH=/app/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh    将脚本路径写入

/app/mysql/scripts/mysql_install_db  --basedir=/app/mysql --datadir=/mysqldb/3306/data --user=mysql   制作数据库,指定mysql的用户

cp /app/mysql/support-files/my-huge.cnf  /etc/my.cnf   重新制作配置文件,以huge.cnf模板文件修改

  vim /etc/my.cnf

  datadir=/mysqldb/3306/data            在[mysqld]下面添加行,位置不要错

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

  chkconfig --add mysqld

  chown -R mysql.mysql /mysqldb/3306/

  chgrp -R mysql /app/mysql/

  chmod 775 /app/mysql/         重点!! 因为启动服务要在路径下创建sock为文件,如果没有权限会报错,启动失败

第二个实例安装:

  /app/mysql/scripts/mysql_install_db  --basedir=/app/mysql --datadir=/mysqldb/3307/data --user=mysql     安装数据库

  cp /etc/my.cnf    /mysqldb/3307          

  vim /mysqldb/3307/my.cnf      制作配置文件

    将所有的3306改为3307  

  [mysql_safe]                 在文件最下面增加日志文件路径
  log-error=/mysqldb/3307/mariadb.log
  pid-file=/mysqldb/3307/mariadb.pid

  vim /mysql/3307/mysqld        添加启动脚本,修改其中的路径项

#!/bin/bash
rt=
mysql_user="root"
mysql_pwd=""
cmd_path="/app/mysql/bin"
mysql_basedir="/mysqldb"
mysql_sock="${mysql_basedir}/${port}/mysql.sock" function_start_mysql()
{
if [ ! -e "$mysql_sock" ];then
printf "Starting MySQL...\n"
          ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/my.cnf &> /dev/null &
else
printf "MySQL is running...\n"
exit
fi
} function_stop_mysql()
{
if [ ! -e "$mysql_sock" ];then
printf "MySQL is stopped...\n"
exit
else
printf "Stopping MySQL..\n"
${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
fi
} function_restart_mysql()
{
printf "Restarting MySQL...\n"
if [ ! -e "$mysql_sock" ];then
function_start_mysql
exit
fi
function_stop_mysql
sleep
function_start_mysql
} case $ in
start)
function_start_mysql
;;
stop)
function_stop_mysql
;;
restart)
function_restart_mysql
;;
*)
printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart}\n"
esac

  chmod 700 /mysqldb/3307/mysqld

  /mysqldb/3307/mysqld  start

  失败/

  原因是/mysqldb/3307所属组为root,mysql用户没有写权限

  解决:chown  -R mysql.mysql /mysqldb/

  再启动成功

  在不能启动的时候可以手动输入路径启动查看项目在哪一步出问题

  /app/mysql/bin/mysqld_safe  --defaults-file=/mysqldb/3307/my.cnf

第三个实例的安装:

  /app/mysql/scripts/mysql_install_db  --basedir=/app/mysql --datadir=/mysqldb/3308/data --user=mysql     制作数据库文件

  chown -R mysql.mysql /mysqldb/

  cp /mysqldb/3307/{mysqld,my.cnf}  /mysqldb/3308/

  vim mysqld   修改端口号为3308

  vim my.cnf    修改端口号为3308

  /mysqldb/3308/mysqld start

   

在my.cnf里的client项里可以添加自己登陆的账号密码,可以免账户密码登陆

user=root

password=centos

mariadb源码编译安装及多实例的更多相关文章

  1. 源码编译安装MySQL8.0

    源码编译安装MySQL8.0 0.前期准备条件 查看linux的版本 [root@mysql etc]# cat /etc/redhat-release CentOS Linux release 7. ...

  2. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  3. Httpd服务进阶知识-LAMP源码编译安装

    Httpd服务进阶知识-LAMP源码编译安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家都知道,动态资源交给fastcgi程序处理,静态资源依旧由httpd服务器处理  ...

  4. Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置

    文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...

  5. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  6. 源码编译安装MySQL8.0.20

    1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...

  7. WordPress安装篇(5):源码编译安装LNMP并部署WordPress

    与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...

  8. Mysql5.7.34 数据库源码编译安装

    Mysql 数据库源码编译安装 MySQL是一个关系型数据库管理系统,关系型数据库是将数据保存在不同的表中,而非将所有数据放在一个大仓库内,这样就加快了速度并提高了灵活性.由于其体积小.速度快.总体拥 ...

  9. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

随机推荐

  1. 揭秘企业级web负载均衡完美架构

    相信很多朋友对企业级的负载均衡高可用实例非常感兴趣,此篇文章根据成熟的线上环境而写,旨在帮助大家迅速架构一个企业级的负载均衡高可用的web环境. 此系统架构仅映射内网VIP的80及443端口于外网的J ...

  2. 关于Mysql数据库的注意点

    1.注意属性为String的数据在JDBC操作语句中要加单引号 例子: conn = DriverManager.getConnection("jdbc:mysql://localhost: ...

  3. GCC操作

    GCC编译器常用选项 生成动态链接库: gcc file.c -fPIC -o file.so, PIC表示Position-Independent Code: 独立地址代码 编译: gcc -c f ...

  4. net图片转格式

    http://blog.csdn.net/nrlovestudy/article/details/48137339 图片转格式 Bitmap bmp=new Bitmap("filename ...

  5. maven课程 项目管理利器-maven 1-1课程概述

    1 为什么使用maven? 多框架应用项目,jar包太多且冲突,为了解决这个问题,引入maven.(类似还有ant,gradle) 2 课程概述 maven快速入门 maven核心知识 maven建造 ...

  6. input输入框不能获得焦点

    今天在ipad上遇到一个问题:jquery 调用 $(id).focus() 方法,失效,不能弹出键盘获得输入的焦点. 开始以为是 $(id).focus() 方法的问题,然后就试着用原声的docum ...

  7. DIV内数据删除操作

    对于数据操作,前端提供静态方法,交给后台去操作 此处记录一下,待优化,不过精华都在里面了 静态页面: 鼠标移上显示: html代码 css代码 js代码

  8. 《ArcGIS Runtime SDK for Android开发笔记》——(1)、Android Studio下载与安装

    1.前言 Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工 ...

  9. 【小结】IIS7下的Http Native Module开发

    今天接到Product Manager的通知,Exchange 2007环境下的Native Module不再需要开发(详情可见上篇),但最近几天一直在做Prototype,那就做一下小结吧,总结一下 ...

  10. Azure资源模板化部署,伦家不懒都不好意思了

    如果老板让你在云平台上部署一套系统,你准备怎么做? 嗯,估计得根据具体需求开通或创建一大堆东西:虚拟机.存储.数据库.虚拟网络……别急还没完,接着还要对这些东西的规模.配置等各方面调整和优化.一系列环 ...