返回顶部
首页 > 资讯 > 数据库 >MariaDB三种方法安装及多实例实现
  • 155
分享到

MariaDB三种方法安装及多实例实现

2024-04-02 19:04:59 155人浏览 薄情痞子
摘要

本章内容Mariadb的三种安装方式:    1、程序包管理器管理的程序包    2、二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用

MariaDB三种方法安装及多实例实现

本章内容

Mariadb的三种安装方式:

    1、程序包管理器管理的程序包

    2、二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用

    3、源代码:编译安装

MariaDB在一台机器上的多实例实现

 

本机环境

系统版本:以Centos_7.5_x86_64为例

MariaDB版本:以MariaDB 10.2.15 Stable为例

 

程序包管理器(yum)方式安装MariaDB

1、配置好yum源后,输yum -y install mariadb-server即可,不过mariadb版本是5.5的,不是较新的

2、如果想用yum安装较新版本的mariadb,可到MariaDB官网上查较新版本的yum源,官网地址是Http://mariadb.org/,打开网页后点击Download,再点Download

MariaDB三种方法安装及多实例实现

MariaDB三种方法安装及多实例实现


3、这里以10.2.15版本为例,点击Download 10.2.15 Stable Now!

MariaDB三种方法安装及多实例实现


4、拉到最下面,点击Repository Configuration Tool.

MariaDB三种方法安装及多实例实现


5、依次点击CentOS --> CentOS 7 (x86_64) --> 10.2 [Stable],可以看到下方出现了yum源信息,将此信息复制,即可在CentOS中以此配置yum仓库

MariaDB三种方法安装及多实例实现

配好后输命令:

    yum clean all

    yum repolist

    yum -y install mariadb-server

即可安装较新版的10.2.15版的MariaDB

 

安装包准备

准备MariaDB的源码安装包,以及二进制程序安装包

二进制程序安装包其实就是已编译好的包,不用再编译

1、到官网上下载安装包,仍然是点击Download,再点击Download,之后点击Download 10.2.15 Stable Now

MariaDB三种方法安装及多实例实现


2、下载两个包,mariadb-10.2.15.tar.gz是源码包,mariadb-10.2.15-linux-x86_64.tar.gz是二进制格式的程序包

MariaDB三种方法安装及多实例实现

MariaDB三种方法安装及多实例实现

 

3、用Linux的rz工具或者Xshell的xftp工具,把两个程序包传到两台虚拟机


二进制程序包安装MariaDB

(1) 准备用户

    groupadd -r -g 306 Mysql

    useradd -r -g 306 -u 306 -m -d /data/mysqldb mysql

(2) 准备数据目录

    以/data/mysqldb为例,建议使用逻辑卷

    chown mysql:mysql /data/mysqldb

    chmod 700 /data/mysqldb

(3) 准备二进制程序

    tar xf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local  #/usr/local是程序包指定的目录,必须解压在这里

    cd /usr/local;ln -sv mariadb-10.2.15 mysql

    chown -R mysql:mysql /usr/local/mysql/

(4) 准备配置文件

    mkdir /etc/mysql/

    cp support-files/my-huge.cnf /etc/mysql/my.cnf

    #/usr/local/mysql/support-files下有很多my-*.cnf文件,分别对应不同的内存大小,可打开看看,选择对应自己机器的拷贝就行

    vim /etc/mysql/my.cnf

    [mysqld]中添加三个选项:

        datadir = /data/mysqldb

        innodb_file_per_table = on 可不加

        skip_name_resolve = on 禁止主机名解析,建议使用,不加也可

(5) 创建数据库文件

    cd /usr/local/mysql/

    ./scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql

(6) 准备日志文件

    touch /var/log/mysqld.log

    chown mysql:mysql /var/log/mysqld.log

(7) 准备服务脚本,并启动服务

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

    chkconfig --add mysqld

    service mysqld start

(8) 安全初始化

    /user/local/mysql/bin/mysql_secure_installation

(9) 添加环境变量

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

    . /etc/profile.d/mysql.sh


源码编译安装MariaDB

(1) 安装包

yum install bison bison-devel zlib-devel libcurl-devel libarcHive-devel boost-devel GCc gcc-c++ cmake libevent-devel gnutls-devel libaio-devel openssl-devel ncurses-devel libxml2-devel

(2) 做准备用户和数据目录

mkdir /data

useradd -r -s /sbin/nologin -m -d /data/mysqldb/ mysql

tar xvf mariadb-10.2.15.tar.gz

(3) cmake 编译安装

cd mariadb-10.2.15/

编译选项,可参考:

https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

这里直接输命令

cmake . \

-DCMAKE_INSTALL_PREFIX=/app/mysql \

-DMYSQL_DATADIR=/data/mysqldb/ \

-DSYSCONFDIR=/etc \

-DMYSQL_USER=mysql \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \

-DWITH_DEBUG=0 \

-DWITH_READLINE=1 \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DWITH_LIBWRAP=0 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

make && make install

(4) 准备环境变量

    echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh

    . /etc/profile.d/mysql.sh

(5) 生成数据库文件

    chmod 700 /data/mysqldb

    cd /app/mysql/

    scripts/mysql_install_db --datadir=/data/mysqldb/ --user=mysql

(6) 准备配置文件

    cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf

    vim /etc/mysql/my.cnf

    [mysqld]中添加:

       datadir = /data/mysqldb

    chown -R mysql:mysql /app/mysql/

(7) 准备启动脚本

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

(8) 启动服务

    chkconfig --add mysqld

    service mysqld start

 

MariaDB在一台机器上的多实例实现

(1) 安装MariaDB,这里用yum安装

yum install mariadb-server

(2) 创建多实例目录

这里创建三个实例,最后三个实例会分别使用3306,3307,3308端口

mkdir /mysqldb/{3306,3307,3308}/{etc,Socket,pid,log,data} -pv

chown -R mysql.mysql /mysqldb/

(3) 生成数据库文件

mysql_install_db --datadir=/mysqldb/3306/data --user=mysql

mysql_install_db --datadir=/mysqldb/3307/data --user=mysql

mysql_install_db --datadir=/mysqldb/3308/data --user=mysql

(4) 准备配置文件

cp /etc/my.cnf /mysqldb/3306/etc/

vim /mysqldb/3306/etc/my.cnf

[mysqld]

port=3306

datadir=/mysqldb/3306/data

socket=/mysqldb/3306/socket/mysql.sock

 

[mysqld_safe]

log-error=/mysqldb/3306/log/mariadb.log

pid-file=/mysqldb/3306/pid/mariadb.pid

#!includedir /etc/my.cnf.d

 

cp /mysqldb/3306/etc/my.cnf /mysqldb/3307/etc/my.cnf #复制配置文件到3307和3308中

cp /mysqldb/3306/etc/my.cnf /mysqldb/3308/etc/my.cnf

vim /mysqldb/3307/etc/my.cnf

   :%s/3306/3307/ #将所有端口号从3306替换为3307

   :wq

vim /mysqldb/3308/etc/my.cnf

   :%s/3306/3308/ #将所有端口号从3306替换为3308

   :wq

 

(5) 准备服务脚本

这里准备了一个服务脚本,粘到一个空文件里,并命名为mysqld:

#!/bin/bash
#FileName: mysqld
port=3306
mysql_user="root"
mysql_pwd=""
cmd_path="/usr/bin"
mysql_basedir="/mysqldb"
mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"
 
function_start_mysql()
{
    if [ ! -e "$mysql_sock" ];then
      printf "Starting MySQL...\n"
      ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/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 "Stoping MySQL...\n"
       ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
   fi
}
 
function_restart_mysql()
{
    printf "Restarting MySQL...\n"
    function_stop_mysql
    sleep 2
    function_start_mysql
}
 
case $1 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
 
#End of file

 

chmod 700 mysqld

cp mysqld /mysqldb/3306/

cp mysqld /mysqldb/3307/

cp mysqld /mysqldb/3308/

#修改各实例配置文件的端口号

vim  /mysqldb/3306/mysqld

vim  /mysqldb/3307/mysqld

vim  /mysqldb/3308/mysqld

 

(6) 启动三个实例

/mysqldb/3306/mysqld start

/mysqldb/3307/mysqld start

/mysqldb/3308/mysqld start

(7) 连接三个实例

mysql -S /mysqldb/3306/socket/mysql.sock

mysql -S /mysqldb/3307/socket/mysql.sock

mysql -S /mysqldb/3308/socket/mysql.sock

 


您可能感兴趣的文档:

--结束END--

本文标题: MariaDB三种方法安装及多实例实现

本文链接: https://lsjlt.com/news/39239.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MariaDB三种方法安装及多实例实现
    本章内容Mariadb的三种安装方式:    1、程序包管理器管理的程序包    2、二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用...
    99+
    2024-04-02
  • 初识MariaDB之2——MariaDB多实例安装
    一、背景介绍MariaDB多实例就是在一台机器上开启多个不同的服务端口,运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的、互不干涉的服务,各个实例可以根据不同的配置文件设置相...
    99+
    2024-04-02
  • Android 三种实现定时器详解及实现方法
    方法一:Handler+Thread package com.xunfang.handerDemo; import android.app.Activity; impor...
    99+
    2022-06-06
    方法 定时器 Android
  • Go语言实现超时的三种方法实例
    目录前言方法一:用两个通道 + A协程sleep方法二:使用Timer(定时器)方法三:使用context.WithTimeout附:go 实现超时退出总结前言 超时,指一个协程A开...
    99+
    2024-04-02
  • Java中List排序的三种实现方法实例
    目录前言1.使用 Comparable 排序2.使用 Comparator 排序2.1 新建 Comparator 比较器2.2 匿名类比较器3.使用 Stream 流排序总结前言 ...
    99+
    2024-04-02
  • MySQL多实例数据库的安装及配置方法
    下面讲讲关于MySQL多实例数据库的安装及配置方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL多实例数据库的安装及配置方法这篇文章你一定会有所受益。一、MySQL多...
    99+
    2024-04-02
  • python 实现多线程的三种方法总结
    1._thread.start_new_thread(了解) import threading import time import _thread def job(): ...
    99+
    2024-04-02
  • MongoDB安装及多实例启动
    MongoDB安装及多实例启动 MongoDB简介 MongoDB是一款跨平台、面向文档的数据库。可以实现高性能、高可用性,并且能够轻松扩展,是一个基于分布式文件存储的开源数据库系统,在高负载的情况下,添加...
    99+
    2024-04-02
  • JavaScript继承的三种方法实例
    继承 1. 什么是继承 继承: 首先继承是一种关系,类(class)与类之间的关系,JS中没有类,但是可以通过构造函数模拟类,然后通过原型来实现继承。 继承也是为了数据共...
    99+
    2024-04-02
  • java字符转码的三种方法总结及实例
    java字符转码:三种方法转码成功的前提:解码后无乱码转码流程:文件(gbk)-->解码-->编码--->文件(utf-8) 注:如有问题请留言 下面具体的实例 方法一:Java.lang.S...
    99+
    2023-05-31
    java 字符转码 ava
  • Mysql复制表三种实现方法及grant解析
    如何快速的复制一张表 首先创建一张表db1.t,并且插入1000行数据,同时创建一个相同结构的表db2.t 假设,现在需要把db1.t里面的a>900的数据行导出来,插入到db2.t中 mysqldump方法...
    99+
    2022-05-24
    Mysql 复制表 grant
  • C语言函数调用的三种实现方法实例
    目录C语言函数第一种方法第二种方法第三种方法总结C语言函数 1.概念:函数是一组一起执行一个任务的语句,每个c程序都必须有一个main函数,程序员可以把代码划分到不同的函数当中去,在...
    99+
    2024-04-02
  • mysql多种安装方法
    1、yum方式安装mysqlyum安装mysql极其简单,只要执行yum install mysql-server即可。 yum/rpm方式安装mysql应用场景yum/rpm安装适合对数据库要求不太...
    99+
    2024-04-02
  • python安装pillow的三种方法
    目录第一种方法第二种方法第三种方法安装pillow(python的图形界面库) 第一种方法 在Dos界面输入pip install pillow(但是不知为何总是失败);搞了好几次都...
    99+
    2024-04-02
  • MySQL多实例的安装方法是什么
    这篇文章将为大家详细讲解有关MySQL多实例的安装方法是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Step 1 . 准备工作关闭防火墙; 安装 MySQL依赖于l...
    99+
    2024-04-02
  • centos7下安装tomcat并用systemd实现tomcat多实例配置方法
    这篇文章主要讲解了“centos7下安装tomcat并用systemd实现tomcat多实例配置方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“centos7下安装tomcat并用syst...
    99+
    2023-06-10
  • redis实现限流的三种方法
    今天小编给大家分享的是redis实现限流的三种方法,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。第一种:基于Redis的setnx的操作我们在使用R...
    99+
    2024-04-02
  • JAVA实现线程的三种方法
    (1)继承Thread类,重写run函数创建:class xx extends Thread{  public void run(){Thread.sleep(1000) ...
    99+
    2022-11-15
    JAVA 线程
  • C#多态的三种实现方式(小结)
    C#实现多态主要有3种方法,虚方法,抽象类,接口 1 虚方法 在父类的方法前面加关键字virtual, 子类重写该方法时在方法名前面加上override关键字,例如下面的Perso...
    99+
    2024-04-02
  • Android实现静默安装的两种方法
    前言 一般情况下,Android系统安装apk会出现一个安装界面,用户可以点击确定或者取消来进行apk的安装。 但在实际的项目需求中,有一种需求,就是希望apk在后台安装(不出...
    99+
    2022-06-06
    静默安装 方法 安装 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作