MySQL主从配置实现(同一台主机)
////////////////////MySQL主从(同一台主机)//////////////////////
1.安装配置MySQL
参考之前步骤搭建MySQL服务
为了做实验方便,我们在同一台机器上配置两个MySQL服务(跑两个端口)
cd /usr/local/
cp -rv mysql mysql_2
cd mysql_2
初始化mysql_2 : ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql2
拷贝配置文件:cp /etc/my.cnf ./my.cnf
修改配置文件相关参数: vim my.cnf #更改port以及socket
启动:/usr/local/mysql_2/bin/mysqld_safe --defaults-file=/usr/local/mysql_2/my.cnf --user=mysql &
若开机启动,需要加入到/etc/rc.local中
2.配置主从准备工作
设定mysql_2,为主端口3307,mysql为从端口3306
在主上创建测试库 : create database db1;
然后导出主的mysql库数据然后导入给db1
mysqldump -uroot -S /tmp/mysql2.sock mysql > 123.sql;
mysql -uroot -S /tmp/mysql2.sock db1 < 123.sql
3.配置主(master)
vim /usr/local/mysql_2/my.cnf #修改或者添加:
server-id=1
log-bin=mysql-bin
两个可选参数(2选1)
binlog-do-db=db1,db2 #需要同步的库
binlog-ignore-db=db1,db2 #忽略不同步的库
修改配置文件后,重启mysql_2
pid=`ps aux|grep mysql2.sock|grep -v grep|awk '{print $2}'`;kill $pid; cd /usr/local/mysql_2/bin/; ./mysqld_safe --defaults-file=../my.cnf --user=mysqld &
设置root密码:mysqladmin -uroot -S /tmp/mysql2.sock password '123456'
grant replication slave on *.* to 'repl'@'127.0.0.1' identified by '123123';
flush tables with read lock;
show master statusl#一定要记住前两列的内容,待会会用到
4.设置从(slave)
vim /etc/my.cnf #修改或增加
server-id=2 #这个数值不能和主一样
可选参数:replicate-do-db=db1,db2
replicate-ignore-db=db1,db2 #意义同主的两个可选参数
service mysqld restart
拷贝主的db1库数据到从: mysqldump -uroot -S /tmp/mysql2.sock -p123456 db1 > db1.sql;
mysql -uroot -p -e"create database db1";mysql -uroot -p db1 < db1.sql
mysql -uroot -p #登陆从的MySQL
slave stop;
change master to master_host='127.0.0.1',master_port=3307,master_user='repl',master_password='123123',master_log_file='mysql-bin.000006',master_log_pos=474952;
slave start;
主上:mysql -uroot -S /tmp/mysql2.sock -p123456 -e "unlock tables"
从上查看从的状态:show slave status\G;
5.测试主从
主上清空db1库的db表:use db1 ; select count(*) from db;truncate table db;
进入salve,查看db1库db表:use db1;select count(*)from db;
主上删除表db: drop table db;
从上看db表不存在了
建议:MySQL主从机制比较脆弱,需要谨慎操作。如果重启master,务必要先把slave停掉,也就是说需要在salve上去执行,salve stop 命令,然后再去重启master的MySQL服务,否则很可能就会中断了。当重启完后,还需要把salve给开启 salve start
MySQL主从配置实现(同一台主机)的更多相关文章
- Mysql主从配置+读写分离
Mysql主从配置+读写分离 MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...
- mysql 主从 配置和同步管理
首先呢,需要有两个mysql服务器.如果做测试的话可以在同一台机器上装两个mysql服务程序,注意要两个运行程序的端口不能一样.我用的是一个是默认的3306,从服务器用的是3307端口. 在主服务创建 ...
- Mysql笔记之 -- 小试MYSQL主从配置
mysql主从配置: 硬件: 两台服务器 1.Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-60-generic-pae i686) 2.Ubuntu 12.04.4 LT ...
- windows环境下mysql主从配置
mysql主从配置. 相关理论知识可以百度一下,这里就不多说了,直接说如何配置. 一.环境介绍及说明 主库所在的操作系统:win7 主库的版本:mysql-5.6.24-winx64.zip 主库的i ...
- centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课
centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数 ...
- MySQL主从配置详解
一.mysql主从原理 1. 基本介绍 MySQL 内建的复制功能是构建大型,高性能应用程序的基础.将 MySQL 的 数亿分布到到多个系统上去,这种分步的机制,是通过将 MySQL 的某一台主机的数 ...
- MySQL主从配置及haproxy和keepalived搭建
本篇文章主要介绍如何搭建MySQL主主配置.主从配置.haproxy.keepalived,已经搭建过程中的一些问题.本次运行环境是在docker中,也会介绍一些docker的知识 docker 小知 ...
- mysql主从配置
引言: 双11,阿里云服务器打折,于是我忍不住又买了一台服务器,于是咱也是有两台服务器的爷们了,既然有了两台服务器,那么肯定要好好利用一下吧,那么就来玩玩mysql的主从配置吧. 准备 两台数据库服务 ...
- Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- MySql主从配置实践及其优势浅谈
MySql主从配置实践及其优势浅谈 1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my ...
随机推荐
- PAT 甲级 1003Emergency(Dijkstra最短路)
1003. Emergency (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue As an emerg ...
- LeetCode 学习
1.整数反转 题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 思路:把最后的一位提取出来,放到新的容器前面,反复进行上面的操作,同时也要判断是否会导致溢出 class ...
- fineReport---sql
一.开窗函数-逐层平均 在创建数据集时用sql的开窗排名函数[AVG(字段) over(PARTITION BY 分组字段 order by 逐层字段)]处理,然后进行直接调用. 详细说明 二.开窗函 ...
- delphi -----(去掉窗口最大化,最小化、关闭),主窗口,和子窗口之间的设置
一.去掉窗口最大化,最小化.关闭 borderIcons:biSystemMenu:false borderStyle:bsSizeable 二.主子窗口 主main: //调用子窗体procedur ...
- 《挑战程序设计竞赛》2.2 贪心法-其它 POJ3617 3069 3253 2393 1017 3040 1862 3262
POJ3617 Best Cow Line 题意 给定长度为N的字符串S,要构造一个长度为N的字符串T.起初,T是一个空串,随后反复进行下列任意操作: 从S的头部(或尾部)删除一个字符,加到T的尾部 ...
- 3 TensorFlow入门之识别手写数字
------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ---------------------------------- ...
- Hadoop源码如何查看
如何查看hadoop源码 1解压hadoop安装压缩文件成为文件夹,再进入解压后的文件夹下的src文件夹,选中core,hdfs,mapred三个文件夹
- Python(面向对象编程—1)
class tst: l=[] x=1 a=tst() b=tst() a.l.append('a') b.l.append('b') a.x='a' b.x='b' print(a.l,a.x) # ...
- SHELL —— BASH环境
一 .什么是SHELL shell一般代表两个层面的意思,一个是命令解释器,比如BASH,另外一个就是shell脚本.本节我们站在命令解释器的角度来阐述shell 二 .命令的优先级 命令分为: == ...
- Android位置权限以及数组寻找索引的坑
填坑与求解惑来的. 一.Android 危险权限,来自官方文档的坑??? Android开发者都知道,Android 6.0 之前,权限申请只需要在 AndroidManifest.xml 文件中声明 ...