Mysql multi实现mysql双实例

1、添加mysql用户

以root登录,新建mysql用户组

 groupadd mysql
useradd -d /data/mariadb -g mysql -m mysql

2、 mariadb的安装置

2.1 安装所需组件

 yum install -y cmake  gcc-c++ ncurses-devel libaio bison

2.2创建mariadb编译根目录

mkdir -p /usr/local/mariadb

2.3解压缩源码包

tar zxvf mariadb-5.5.51.tar.gz
cd mariadb-5.5.51

2.4编译安装

cd /usr/local/mariadb/mariadb-5.5.51/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/data/mariadb -DSYSCONFDIR=/usr/local/mariadb -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mariadb/mysql.sock
make
make install

2.5修改环境变量文件,修改vi ~/.bash_profile,添加如下内容;

PATH=$PATH:$HOME/bin:/usr/local/mariadb/bin
export PATH
添加完成后,source ~/.bash_profile

3.mariadb双实例的建立

3.1建立两个实例所需目录并授权

 makdir -p /usr/local/mariadb1_3307
makdir -p /usr/local/mariadb2_3308
makdir -p /data/mariadb1_3307
makdir -p /data/mariadb2_3308

3.2 拷贝配置文件到/etc目录下

 cp /usr/localmariadb/support-files/my-medium.cnf/my.cnf /etc/my.cnf

3.3 配置mariadb1实例1

3.3.1修改配置文件为

[mysqld_multi]
mysqld=/usr/local/mariadb/bin/mysqld_safe
mysqladmin=/usr/local/mariadb/bin/mysqladmin
log=/data/mariadb/mysqld_multi.log
[mysqld1]
port = 3307
socket = /usr/local/mariadb1_3307/mysql.sock
basedir = /usr/local/mariadb
datadir = /data/mariadb1_3307
pid-file = /data/mariadb1_3307/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1230
slave-skip-errors=all
binlog=/data/mariadb1_3307/binlog
relay-log=/data/mariadb1_3307/relay_log/mysql-relay-bin
log_slave_updates = 1
read_only = 0
binlog_format = row
expire_logs_days = 10
default_storage_engine = InnoDB
innodb_buffer_pool_size = 128M
innodb_flush_log_at_trx_commit = 0

3.3.2 初始化数据库

进入bin目录,

cd /usr/local/mariadb/scripts
./mysql_install_db --user=mysql --basedir=/usr/local/mariadb --datadir=/data/mariadb1_3307

3.4配置mariadb2实例2

方法同实例1

4、启动多实例数据库

4.1启动数据库实例

 mysqld_multi start 1-2

4.2关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
查看:netstat -tnlp

4.3 修改环境变量文件,修改vi ~/.bash_profile,添加如下内容;

PATH=$PATH:/usr/local/mariadb/bin
export PATH
添加完成后,source ~/.bash_profile

4.4访问数据库

 mysql -uroot -p -S /usr/local/mariadb1_3307/mysql.sock   --实例1
mysql -uroot -p -S /usr/local/mariadb2_3308/mysql.sock --实例2

4.5 查看多实例

mysqld_multi report

4.6 关闭数据库

刚开始无法使用mysql_multi关闭数据库

原因:需对账号授权

mysqld_multi stop 1,2

4.6 完成

Mysql multi实现mysql双实例的更多相关文章

  1. MySql 双实例安装

    1.官网下载压缩包 https://dev.mysql.com/downloads/mysql/ 2.解压到D盘 3.修改my.ini 文件 [mysql] # 设置mysql客户端默认字符集 def ...

  2. mysql传统主从、双主复制+keepalived配置步骤

    mysql主从.主主复制(双主复制)配置步骤 一:MySQL复制: MySQL复制简介: 将master服务器中主数据库的ddl和dml操作通过二进制日志传到slaves服务器上,然后在master服 ...

  3. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  4. MySQL Replication, 主从和双主配置

    MySQL Replication, 主从和双主配置 MySQL的Replication是一种多个MySQL的数据库做主从同步的方案,特点是异步,广泛用在各种对MySQL有更高性能,更高可靠性要求的场 ...

  5. Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例

    Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例 转自:通过注解的方式集成Spring 4 MVC+Hibernate 4+MySQL+Maven,开发项目样例 ...

  6. MySQL 高可用性—keepalived+mysql双主

    MySQL 高可用性—keepalived+mysql双主(有详细步骤和全部配置项解释) - 我的博客 - CSDN博客https://blog.csdn.net/qq_36276335/articl ...

  7. mysql数据库分区功能及实例详解

    分区听起来怎么感觉是硬盘呀,对没错除了硬盘可以分区数据库现在也支持分区了,分区可以解决大数据量的处理问题,下面一起来看一个mysql数据库分区功能及实例详解   一,什么是数据库分区 前段时间写过一篇 ...

  8. mycat 1.6.6.1安装以及配置docker 安装mysql 5.7.24 双主多从读写分离主主切换

    mycat和mysql的高可用参考如下两个图 简介:应用程序仅需要连接HAproxy或者mycat,后端服务器的读写分离由mycat进行控制,后端服务器数据的同步由MySQL主从同步进行控制. 服务器 ...

  9. linux系统mysql主主复制(双主复制)

    一.简介 在上一篇的主从复制中:http://www.cnblogs.com/lay2017/p/9043985.html 我们了解到,mysql通过master写日志,slave读取并执行日志内容从 ...

随机推荐

  1. 不要再使用JS框架了

    停止编写Javascript框架吧. Javascript框架就好像死亡和税收一样:终究不可避免它的存在.我确信如果我是那面墙上的一只苍蝇,每次有人开始一个新的网页项目时,第一个问题肯定是我们用的是哪 ...

  2. GO语言基础条件、跳转、Array和Slice

    1. 判断语句if 1. 条件表达式没有括号(这点其他语言转过来的需要注意) 2. 支持一个初始化表达式(可以是并行方式,即:a, b, c := 1, 2, 3) 3. 左大括号必须和条件语句或 e ...

  3. typescript 的一种引入文件的方式 Triple-Slash Directives

    ---恢复内容开始--- /// reference 原文: https://www.typescriptlang.org/docs/handbook/triple-slash-directives. ...

  4. python 两个队列进行对比

    python 两个队列进行对比 list01 = [1,2,3,4] list02 = [1,3,5] for i01 in list01: is_in_02 = False for i02 in l ...

  5. [Javascript]1. Improve you speed! Loop optimaztion

    /** Improve you loop code */ var treasureChest = { goldCoins: 10000, magicalItem : "Crown of Sp ...

  6. 【Nodejs】nimble或async并不能保证程序串行执行,回调是回避不了的坑

    先看一段例程: //------------------------------- // 用于创建目录 //------------------------------- function creat ...

  7. 鼠标增强软件StrokeIt使用方法

    1 可以从以下网址下载该软件,解压之后有两个文件 http://dl.pconline.com.cn/html_2/1/65/id=7185&pn=0.html 2 先安装英文版的,再安装中文 ...

  8. android google map v1 v2 v3 参考

    V1,V2已经不被推荐使用,谷歌强烈推荐使用V3. 本人在选择时着实纠结了良久,现在总结如下: 对于V1,现在已经申请不到API KEY了,所以不要使用这个版本.这个是网址:https://devel ...

  9. Hotaru's problem(hdu5371+Manacher)多校7

    Hotaru's problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  10. 深入浅出 - Android系统移植与平台开发(十三)- Android的对象管理

    第六章.Android的对象管理 在Java中,不再使用的对象会通过gc机制来自己主动回收.而Android系统执行时库层代码是由C++编写的,在C++中创建的对象通常使用指针来操作,一旦使用不当.轻 ...