MySQL的主从复制环境

注意版本影响:
实现双机的热备首先要了解主从数据库服务器的版本的需求。首先,MYSQL的版本都要高于3.2,还有一个基本的原则就是作
为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本

实验环境:
 master:192.168.0.101
 slave:192.168.0.113

软件包是通过rpm安装的 ;
安装版本是rhel5.5;

vim /etc/yum.repos/yum.repo
        [base]          #名字可以随便设置
  name=name       #第二个name也是可以随便设置的
  baseurl=file:///mnt/Server           # baseurl 是你挂载的文件目录;
  gpgcheck=0          #不检查密钥
  
通过yum 安装MySQL 的服务 只安装这两个就可以了  MySQL  mysql-server

yum -y install mysql mysql-server
  
 
        #mysql.i686 0:5.1.52-1.el6_0.1  mysql-server.i686 0:5.1.52-1.el6_0.1

#Complete!
  
[[email protected] ~]# vim /etc/my.cnf
 
    server-id=1
    log-bin=logbin

############注意不要把server-id 添加到 [mysqld_safe] 下######
 
 完成后退出  重启一下服务  service mysqld restart

#登录到MySQL里 mysql -u root

[[email protected] ~]# mysql -u root

mysql> show master status;
+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| logbin.000003 |     98|              |                  |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)

mysql>
先查看下有没有二进制文件   logbin.000001

mysql> grant replication slave,reload,super on *.* to [email protected] identified by ‘123123‘;
Query OK, 0 rows affected (0.00 sec)

把相应的库的权限授权给slave

mysql>  FLUSH TABLES WITH READ LOCK;

# 锁定表lie

quit   #   退出 MySQL

slave set:

配置slave 文件
 vim /etc/my.cnf

server-id=2
master-host=192.168.0.113
master-user=slave
master-password=123123

直接把这里的文件内容覆盖原文件也可

service mysqld restart   # 重启下slave服务

链接下master  服务器 
[[email protected] ~]# mysql -u slave -p123123 -h 192.168.0.113  #ip is master ip address

确保slave 可以链接master

ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.0.113‘ (113)
#出现这种错误  时   把防火墙关闭就好了   service iptables stop  就ok了

mysql -u root -p

CHANGE MASTER TO
 ->MASTER_HOST=‘192.168.1.128‘,
->MASTER_USER=‘slave‘,
->MASTER_PASSWORD=‘123123‘,
->MASTER_LOG_FILE=‘logbin.000003‘,  # 这个文件可以从主服务器哪里复制  ls /var/lib/mysql/
->MASTER_LOG_POS=98;

mysql> start slave;

#在主服务器上创建库文件
 mysql> create database bbs;
Query OK, 1 row affected (0.00 sec)  # 创建一个库  看 同步否
mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
#在从服务器上查看
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)

完毕了   主从复制   同步

时间: 2024-10-06 08:36:03

MySQL的主从复制环境的相关文章

MySQL master-slave主从复制环境搭建初试

原文:MySQL master-slave主从复制环境搭建初试 环境为centos 7.2+mysql 5.7,网上教程很多,原理也不复杂(深知自己踩的坑还不够) 正常情况下,配置起来比较简单.另外,根据个人感受,MySQL的复制感觉要比SQL Server的复制要清爽很多(尽管功能上可能有一些差异). master服务器,首先是开启了二进制日志,同时设置server-id为一个具体的数值 1,创建复制用户 GRANT REPLICATION SLAVE ON *.* to 'repl_test

如何利用docker快速构建MySQL主从复制环境

在学习MySQL的过程中,常常会测试各种参数的作用.这时候,就需要快速构建出MySQL实例,甚至主从. 考虑如下场景: 譬如我想测试mysqldump在指定--single-transaction参数的情况下,对于myisam表的影响. 本来想在现成的测试环境中进行,但测试环境中,有大量的数据,执行mysqldump进行全备,产生的SQL文件,很难基于表进行搜索. 这个时候,就特别渴望能有一套干净的实例进行测试. 此刻,快速构建能力就显得尤为必要,很多童鞋可能会问,通过脚本不就能实现么?为什么要

linux centos下mysql数据库的主从复制环境搭建

有两台MySQL数据库服务器Master和slave,Master为主服务器,slave为从服务器,初始状态时,Master和slave中的数据信息相同,当Master中的数据发生变化时,slave也跟着发生相应的变化,使得master和slave的数据信息同步,达到备份的目的. 原理图如下: 简单来说,mysql的主从复制的原理就是slave把master上面执行的 update,insert这些会使数据发生改变的sql语句从master上面同步过来,然后在自己的机器上再执行一遍,那么这两台数

mysql实现主从复制

今天说一下MySQL的主从复制如何做到! 准备工作: 1.两个虚拟机:我这里用的是CentOS5.5,IP地址分别是192.168.1.101 和192.168.1.105: 101做主服务器,105做从服务器(都已经安装相同版本的Mysql): 2.本机环境:Apache+PHP+MySQL 好了,现在开始吧,来看看这听起来高大上的主从复制是怎么回事. 原理:mysql要做到主从复制,其实依靠的是二进制日志,即:假设主服务器叫A,从服务器叫B:主从复制就是   B跟着A学,A做什么,B就做什么

MySQL之主从复制和读写分离(Amoeba)

案例环境: Master:192.168.154.164 Slave01:192.168.154.176 Slave02:192.168.154.156 Amoeba:192.168.154.177 应用服务器:192.168.154.155 集群拓朴: 部署实施: 一 操作系统和应用程序安装(略) 二 搭建MySQL主从复制环境 1 架构前端有硬件防火墙,因此所有服务器的iptables处于关闭状态(如果没有,请开放相应的端口) [[email protected] ~]#service ip

基于Mysql-Proxy实现Mysql的主从复制以及读写分离(上)

基于Mysql-Proxy实现Mysql的主从复制以及读写分离(上) 上周BOSS给分配任务让实现一下Mysql数据库的主从复制以及读写分离,然后花了一盏茶的功夫进行了调研,发现主从复制数据库进行一番配置直接可以实现,而读写分离则需要一些软件的支持,基本上读写分离的实现有两种: Amoeba(变形虫):是由前阿里员工实现的一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.但是由于没人维护了,而且据说作者也不再回答开发者的问题,所以不予考虑. Mysql-Proxy:是一

基于SSL的mysql(MariaDB)主从复制

一.前言 备份数据库是生产环境中的首要任务,重中之重,有时候不得不通过网络进行数据库的复制,这样就需要保证数据在网络传输过程中的安全性,因此使用基于SSL的复制会大加强数据的安全性 二.准备工作 1.主从服务器时间同步 [[email protected] ~]# crontab -e */30 * * * * /usr/sbin/ntpdate 172.16.0.1 &>/dev/null 2.mysql说明 (1)主服务器 hostname:master    IP:172.16.7.2

mysql半主从复制

node3: 172.16.92.3/16 mariadb主服务器node4: 172.16.92.4/16 mariadb从服务器以上节点均为CentOS 7.1 配置环境1. 配置好光盘yum源2. 关闭selinux和iptables node3: mariadb主服务器 [[email protected] ~]# yum -y install mariadb-server[[email protected] ~]# vim /etc/my.cnf[mysqld]datadir=/var

mysql配置主从复制

                               主从复制 一.主从复制的工作原理 Mysql在Master与slave之间实现整个复制的过程由3个线程来完成的,其中两个线程(SQL线程和IO线程)在 Slave端,另外一个线程(IO)在Master端   要实现Mysql的复制必须首先打开Master端的binary log(也就是二进制日志)否则无法实现.  Mysql复制基本过程如下:    (1)Slave上面的IO 线程链接上Master,并且请求指定日志文件的位置(或者