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

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

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

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

配好后输命令:

yum clean all

yum repolist

yum -y install mariadb-server

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

安装包准备

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

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

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

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

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

#/etc/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) 安装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

编译选项,可参考:

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

原文地址:http://blog.51cto.com/13695854/2127892

时间: 2024-08-30 11:05:19

MariaDB三种方法安装及多实例实现的相关文章

7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法

7.1 安装软件包的三种方法 安装软件包的三种方法 7.2 rpm包介绍 rpm包介绍 安装目录 7.3 rpm工具用法 rpm工具用法 安装rpm包 升级rpm包 卸载rpm包 查询rpm包 查询包是否安装 查询指定包信息 7.4 yum工具用法 yum工具用法 第一列:yum  安装包名称 第二列:版本号 第三列:base 仓库名称 查看yum本地仓库内容: 把包放入容器里: 搜索rpm包 yum-组 通过yum-组安装 yum groupinstall -y yum 删除 7.5 yum搭

【转】delphi程序只允许运行一个实例的三种方法:

一.        创建互斥对象 在工程project1.dpr中创建互斥对象 Program project1 Uses Windows,Form, FrmMain in 'FrmMain.pas' {MainForm}; {$R *.res} var hAppMutex: THandle; //声明互斥变量 begin hAppMutex := CreateMutex(nil, false,’projectname’); //创建互斥对象projectname工程名称 if ( (hAppM

MyEclipse安装插件的三种方法

Eclipse是开源项目,但很多插件需要手工集成,MyEclipse在Eclipse的基础上已经集成了很多可用插件,但很多时候MyEclipse同样需要再次安装插件,插件安装有三种方法,下面以SVN为例,详细阐述. Eclipse update siteURL: http://subclipse.tigris.org/update_1.8.x 下载地址: http://subclipse.tigris.org/files/documents/906/49151/site-1.8.4.zip 方法

实例365(8)---------三种方法将字符串格式化为日期

一:DateTime.ParseExact方式,截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace ConvertToString { public

MyEclipse安装插件的三种方法和使用心得

MyEclipse安装插件的三种方法和使用心得 本文讲解MyEclipse(MyEclipse10)的三种方法,以TestNG为例 Eclipse update site URL:  http://beust.com/eclipse. 一.通过MyEclipse Configuration Center在线安装 1. 打开MyEclipse10,在菜单栏选择MyEclipse→MyEclipse Configuration Center,即可进入到MyEclipse Configuration

Spring框架笔记(十一)——IOC容器创建bean实例的第三种方法——FactoryBean

IOC容器创建bean实例有3类方法: 1 通过bean对应实例的全类名 2 通过工厂方法,包括静态工厂和实例工厂 3 实现 FactoryBean 接口在 Spring IOC 容器中配置 Bean 今天我们介绍这第三种方法--FactoryBean Spring 中有两种类型的 Bean, 一种是普通Bean, 另一种是工厂Bean, 即FactoryBean. 工厂 Bean 跟普通Bean不同, 其返回的对象不是指定类的一个实例, 其返回的是该工厂 Bean 的 getObject 方法

7.1 安装软件包的三种方法7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法7.5 yum搭建本地仓库

- 7.1 安装软件包的三种方法 - 7.2 rpm包介绍 - 7.3 rpm工具用法 - 7.4 yum工具用法 - 7.5 yum搭建本地仓库 - 扩展 1. yum保留已经安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml 2. 搭建局域网yum源 http://ask.apelearn.com/question/7627 # 7.1 安装软件包的三种方法 - windows的.exe文件实际上是一种二

安装软件包的三种方法、rpm包介绍及工具用法、yum用法及搭建本地仓库

一.安装软件包的三种方法 rpm工具 rpm(Redhat Package Manager)RPM软件包管理器,是以一种数据库记录的方式来将我们所需要的套件安装到Linux主机的一套管理程序.rpm包是预先在Linux机器上编译好并打包好的文件,安装起来非常快捷.但是有一个缺点:安装环境必须与编译时的一致或相当:包与包之间存在着相互依赖的情况,安装或卸载包时需要先把依赖的包安装或卸载,如果依赖的包是系统所必须的,那就不能卸载这个包. yum工具 (类似于苹果手机里面的app store) yum

安装软件包的三种方法 rpm包介绍 rpm工具用法 yum工具用法 yum搭建本地仓库(

三种方法:rpm,yum,源码包 安装rpm包 [[email protected] Packages]# rpm -ivh zsh-5.0.2-7.el7.x86_64.rpm准备中... ################################# [100%]正在升级/安装... 1:zsh-5.0.2-7.el7 ################################# [100%] 升级rpm包 [[email protected] Packages]# rpm -Uv