单机多实例据说可以最大程度提高硬件使用,谁知道呢,但是以前的公司喜欢这样搞,我最近也在学习复制什么的,电脑搞不起两台虚拟机,刚好单机多实例可以解救我。下面就说说步骤。

承上文http://www.cnblogs.com/wingsless/p/4002806.html,我已经安装好了MySQL,不过这个是单实例的,要更改也可以,但是担心会出现问题,于是我将下面的东西删掉:

1 #rm -f /etc/init.dmysql

2 $rm -f /home/mysql/data

建立这么几个目录:

$mkdir -p /home/mysql/mydata/data1/binlog /home/mysql/mydata/data1/relay_log /home/mysql/mydata/data1/socket

$mkdir -p /home/mysql/mydata/data2/binlog /home/mysql/mydata/data2/relay_log /home/mysql/mydata/data2/socket

接下来就可以将$MYSQL_HOME/suppuort-files/my-default.cnf复制到/etc下:

#cp suppuort-files/my-default.cnf /etc/my.cnf

修改这个文件,增加下面的内容:

[mysqld_multi]
mysqld = /usr/mysql/bin/mysqld_safe
mysqladmin = /usr/mysql/bin/mysqladmin
log = /home/mysql/mydata/log/mysqld_multi.log socket = /home/mysql/mydata/data1/socket/mysqld.sock
port =
pid-file = /home/mysql/mydata/data1/mysqld.pid
datadir = /home/mysql/mydata/data1 [mysqld2]
socket = /home/mysql/mydata/data2/socket/mysqld.sock
port =
pid-file = /home/mysql/mydata/data2/mysqld.pid
datadir = /home/mysql/mydata/data2

这样配置,就可以保证3306监听的是主库,而3307监听的是从库。

下面就可以初始化数据库了,依旧使用$MYSQL_HOME/script/mysql_install_db:

./mysql_install_db --basedir=/usr/mysql --datadir=/home/mysql/mydata/data1

./mysql_install_db --basedir=/usr/mysql --datadir=/home/mysql/mydata/data2

执行好以后这两个目录里会有很多文件自动生成:

然后执行:

#cp $MYSQL_HOME/support-files/mysqld_multi.server /etc/init.d/mysql

到这一步,所有的前期工作就已经做完了,下面就可以启动数据库了,两个库一起启动的命令是:

#service mysql start 1,2

这样就算好了。下面写如何配置主从复制。

首先登录3306:

$mysql -uroot -h127.0.0.1 -P3306

建立一个复制用户:

mysql>grant replication slave, replication client on *.* to repl@'localhost' identified by 'repl';

mysql>flush privileges;

登录从库:

$mysql -uroot -h127.0.0.1 -P3307

mysql>change master to master_host='localhost', MASTER_PORT=3306, master_user='repl', master_password='repl', master_log_file='mysql-bin.000001', master_log_pos=0;

在主库上执行:

mysql>show master status\G

mysql>show processlist;

主库应该是这样子的。在从库上执行:

mysql>show slave status\G

应该是有这么一串,show processlist;

这样就配置好了。下面可以验证一下,在主库上建立一张表:

use test;
create table test
(
id int
);

这时从库应该有对应的一张表也被复制了过来:

主库上插入数据:insert into test select 1;

从库上会自动更新:

这样就配置好了一对主动数据库,其他的优化参数可以参考《高性能MySQL》,这本书真的很不错,可以说是MySQL除了官方文档之外的唯一经典。

顺便说一下,主从这个配置安装什么的,官方MySQL和Percona Server我都试过,没有区别。

MySQL单机多实例安装并配置主从复制的更多相关文章

  1. Mysql 之多实例 安装以及配置

    MySQL多实例 1.什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306.3307),同时运行多个Mysql服务进程,这些服务进程通过不同的soc ...

  2. MySQL单机单实例安装脚本(转载)

    说明:使用mysql generic tar.gz包快速安装mysql 三个文件installation_of_single_mysql.sh.template_install-my.cnf.mysq ...

  3. MySQL单机单实例安装脚本

    说明:使用mysql generic tar.gz包快速安装mysql 三个文件installation_of_single_mysql.sh.template_install-my.cnf.mysq ...

  4. Twitter Storm:单机环境的安装与配置

    Twitter Storm:单机环境的安装与配置 好久没写博客了,这一段时间一直被导师push着做毕业设计.由于目前的方向偏向于图像识别检索,毕设打算做一个基于分布式计算平台的图像检索系统,查阅相关资 ...

  5. win10下MYSQL的下载、安装以及配置超详解教程(转)

    下载MYSQL 官网下载MYSQL5.7.21版本,链接地址https://www.mysql.com/downloads/.下载流程图如下: 进入官网点击Community,下载社区版. 找到MYS ...

  6. Mysql多实例 安装以及配置

    MySQL多实例 1.什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306.3307),同时运行多个Mysql服务进程,这些服务进程通过不同的soc ...

  7. Mysql 5.7.21 单机多实例安装

    下载MySQL 5.7 二制包 [root@MySQL ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linu ...

  8. mysql的多实例安装

    单机多实例据说可以最大程度提高硬件使用,谁知道呢,但是以前的公司喜欢这样搞,我最近也在学习复制什么的,电脑搞不起两台虚拟机,刚好单机多实例可以解救我.下面就说说步骤. 承上文http://www.cn ...

  9. zookeeper(单机/集群)安装与配置

    一.安装与单机配置 1.下载: wget http://archive.apache.org/dist/zookeeper/stable/zookeeper-3.4.6.tar.gz 如果网站下载不了 ...

随机推荐

  1. IOS开发UI基础UIPageControl的属性

    UIPageControl 常见属性: •    numberOfPages // 设置有多少页 默认为0 [pageControl setNumberOfPages:kImageCount]; •  ...

  2. JS 跨域问题常见的五种解决方式

    一.什么是跨域? 要理解跨域问题,就先理解好概念.跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来 ...

  3. 前端自动化工具 -- Gulp 使用简介

    gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用 ...

  4. JS 对象属性相关--检查属性、枚举属性等

    1.删除属性 delete运算符可以删除对象的属性 delete person.age //即person不再有属性age delete person['age'] //或者这样 delete只是断开 ...

  5. Jquery:ajax跨域请求处理

    昨天朋友想做个图片懒加载的效果,朋友是前端的,我这边给他提供数据,程序写好了放到服务器上,本地测试访问时却报jquery跨域的问题,于是找度娘了解了一下jquey如何处理,网上有很多参考文章,但没细看 ...

  6. DataSet导出到Excel,并生成文件(C#实现,可合并行和列)

    using System; using System.IO; using System.Data; using System.Reflection; using System.Diagnostics; ...

  7. C# 快速反射 IL

    public class FastInvoke { public delegate object FastInvokeHandler(object target, object[] paramters ...

  8. 在windows下配置Eclipse + go环境

    http://blog.csdn.net/hengyunabc/article/details/7371446 本文章地址:http://blog.csdn.net/hengyunabc/articl ...

  9. mbps

    Mbps=Mbit/s即兆比特每秒.Million bits per second的缩写 传输速率是指设备的的数据交换能力,也叫“带宽”,单位是Mbps(兆位/秒),目前主流的集线器带宽主要有10Mb ...

  10. The type java.util.Map$Entry cannot be resolved. It is indirectly referenced。。.相似的错误

    这个问题是出现一般都是因为JDK版本的问题.今天公司安装NC的时候就出现了这个问题.经过对错误的分析和猜测,将JDK从1.8i换成了1.7,之后就行了.根据我个人的猜测,可能是1.8以后就不支持Map ...