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

承上文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 = 3306
pid-file = /home/mysql/mydata/data1/mysqld.pid
datadir = /home/mysql/mydata/data1 [mysqld2]
socket = /home/mysql/mydata/data2/socket/mysqld.sock
port = 3307
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单机多实例安装并配置主从复制

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

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

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

  3. 九.mysql数据库多实例安装mysqld_multi [start,stop,report]

    经常应为系统硬件短缺,导致需要在同一台硬件服务器上面安装多个mysql实例.之前的文章四·安装mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz(基于Centos7源码 ...

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

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

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

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

  6. MySQL(mariadb)多实例应用与多实例主从复制

    MySQL多实例 mysql多实例,简单理解就是在一台服务器上,mysql服务开启多个不同的端口(如3306.3307,3308),运行多个服务进程.这些 mysql 服务进程通过不同的 socket ...

  7. MySQL for Windows 解压缩版安装 和 多实例安装

    MySQL 5.6 for Windows 解压缩版配置安装 http://jingyan.baidu.com/album/f3ad7d0ffc061a09c3345bf0.html?picindex ...

  8. Windows下MySQL多实例安装/主从复制/重置密码

    Windows创建MySQL多实例 安装MYSQL和实例1 运行mysql-installer-community-5.7.16.0.msi 选择组件 MySQL Server 5.7.16 – X6 ...

  9. MySQL 单实例编译安装 以及多实例安装简介

    这是基本的安装教程,与牛逼的大神无关,或许是牛逼大神不用看就会安装吧. CentOS 6.5 Final  x86_64 一.预安装软件包 1.开发包组合安装 yum groupinstall &qu ...

随机推荐

  1. TCP打洞和UDP打洞的区别 (转)

    为什么网上讲到的P2P打洞基本上都是基于UDP协议的打洞?难道TCP不可能打洞?还是TCP打洞难于实现?     假设现在有内网客户端A和内网客户端B,有公网服务端S.     如果A和B想要进行UD ...

  2. jsp添加背景音乐

    在<head></head>间假如标签<embed src="文件地址" loop="11" autostar="tru ...

  3. VR定制开发、AR定制开发(长年承接虚拟现实、增强现实应用、VR游戏定制开发,北京公司,可签合同)

    Cardboard SDK for Unity的使用 上一篇文章作为系列的开篇,主要是讲了一些虚拟现实的技术和原理,本篇就会带领大家去看一看谷歌的Cardboard SDK for Unity,虽然目 ...

  4. JVM堆内存设置和测试

    1. Java虚拟机内存结构 划分新生代和老年代,这样只在新生代分配内存,从而简化了新对象的分配.另外新生代和老年代使用不同的GC算法,可以更有效的清除不再需要的对象.从上图可以看出,JVM内存由yo ...

  5. dicom转换软件的一点头绪

    想用c#写一个由dicom格式转化为jpeg或者其他格式的文件 找到了这个类 fo-dicom类

  6. [AS3.0] HTMLLoader与js交互

    HtmlLoader 的属性window是加载到 HTML 控件中的内容的全局 JavaScript 对象,通过这个对象能够方便的和页面js通讯. AS代码: import flash.html.HT ...

  7. vc6.0运用mysql数据库中的编码所导致的乱码问题(接收和输出的编码必须要一致)

    [编译中遇见的问题]       ①在用vc 6.0去调用MySQL中的数据时,出现中文乱码       ②不明白mysql中的码制 [开始解决问题]      ①打开mysql控制台         ...

  8. Windows消息过滤

    在C#编程中,经常会遇到一些场景,如禁止鼠标拖动窗体,启用某些快捷键,禁止鼠标移动等.遇到这些需求,可以通过窗体的MouseMove事件,OnDragDrop,OnMove等事件来解决问题, 但是该方 ...

  9. IIS启用兼容模式设置(win2k3—Win7)

    点击添加按钮(上图),弹出下面的对话框(下图).在自定义HTTP头名处输入: X-UA-compatible 在自定义HTTP头值处输入: IE=EmulateIE7 (输入时注意不要留下空格)输入完 ...

  10. nginx入门

    1.   前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Ngi ...