mysql的多实例安装
单机多实例据说可以最大程度提高硬件使用,谁知道呢,但是以前的公司喜欢这样搞,我最近也在学习复制什么的,电脑搞不起两台虚拟机,刚好单机多实例可以解救我。下面就说说步骤。
承上文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的多实例安装的更多相关文章
- MySQL单机多实例安装并配置主从复制
单机多实例据说可以最大程度提高硬件使用,谁知道呢,但是以前的公司喜欢这样搞,我最近也在学习复制什么的,电脑搞不起两台虚拟机,刚好单机多实例可以解救我.下面就说说步骤. 承上文http://www.cn ...
- Mysql 之多实例 安装以及配置
MySQL多实例 1.什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306.3307),同时运行多个Mysql服务进程,这些服务进程通过不同的soc ...
- 九.mysql数据库多实例安装mysqld_multi [start,stop,report]
经常应为系统硬件短缺,导致需要在同一台硬件服务器上面安装多个mysql实例.之前的文章四·安装mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz(基于Centos7源码 ...
- MySQL单机单实例安装脚本(转载)
说明:使用mysql generic tar.gz包快速安装mysql 三个文件installation_of_single_mysql.sh.template_install-my.cnf.mysq ...
- MySQL单机单实例安装脚本
说明:使用mysql generic tar.gz包快速安装mysql 三个文件installation_of_single_mysql.sh.template_install-my.cnf.mysq ...
- MySQL(mariadb)多实例应用与多实例主从复制
MySQL多实例 mysql多实例,简单理解就是在一台服务器上,mysql服务开启多个不同的端口(如3306.3307,3308),运行多个服务进程.这些 mysql 服务进程通过不同的 socket ...
- MySQL for Windows 解压缩版安装 和 多实例安装
MySQL 5.6 for Windows 解压缩版配置安装 http://jingyan.baidu.com/album/f3ad7d0ffc061a09c3345bf0.html?picindex ...
- Windows下MySQL多实例安装/主从复制/重置密码
Windows创建MySQL多实例 安装MYSQL和实例1 运行mysql-installer-community-5.7.16.0.msi 选择组件 MySQL Server 5.7.16 – X6 ...
- MySQL 单实例编译安装 以及多实例安装简介
这是基本的安装教程,与牛逼的大神无关,或许是牛逼大神不用看就会安装吧. CentOS 6.5 Final x86_64 一.预安装软件包 1.开发包组合安装 yum groupinstall &qu ...
随机推荐
- 将JSON格式的时间/Date(2367828670431)/格式 转为正常的年-月-日 格式
function formatDate(NewDtime) var dt = new Date(parseInt(NewDtime.slice(6, 19))); var year = dt.getF ...
- bzoj3316: JC loves Mkk
Description Input 第1行,包含三个整数.n,L,R.第2行n个数,代表a[1..n]. Output 仅1行,表示询问答案.如果答案是整数,就输出整数:否则,输出既约分数“P/Q”来 ...
- js点击后将文字复制到剪贴板,将图片复制到剪贴板
复制文字: <table width="99%" border="0" cellpadding="0" cellspacing=&qu ...
- caffe:用自己的数据训练网络mnist
画黑底白字的软件:KolourPaint. 假设所有"1"的图片放到名字为1的文件夹下.(0-9类似)..获取每个数字的名称文件后,手动表上标签.然后合成train.txt 1.获 ...
- GNOME编辑器--gedit 构建基本脚本
gedit factorial.sh myprog.c 当你启动gedit外带多个文件时,它会将所有的文件都加载到不同的缓冲区并在主编辑器窗口中按标签化的窗口来显示每个文件. shell脚本的关键在于 ...
- linux命令-ssh {远程登录}
一 命令解释 命令: ssh ssh [-l login_name] [-p port] [user@]hostname
- xcode 插件地址
http://finalshares.com/read-1104 curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/de ...
- C语言fmod()函数:对浮点数取模(求余)
头文件:#include <math.h> fmod() 用来对浮点数进行取模(求余),其原型为: double fmod (double x); 设返回值为 ret,那么 x = ...
- 查看SQLServer最耗资源时间的SQL语句
执行最慢的SQL语句 SELECT (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N'总 ...
- how to enable remote access for root user
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;