一,先装mysql

准备两台服务器,主服务器是10.0.0.200  副服务器是10.0.0.128
主服务器当作mysql的服务端,下载mysql-server
yum install mysql-server
副服务器当作mysql的客户端,下载mysql
yum install mysql

服务端

service mysqld start  # 启动服务
mysql -uroot -p # 登陆
#密码为空,直接回车就登陆进来了
show database; # 显示库
create user 'xiaoming'@'10.0.0.128' identified by '123456'; # 新建用于同步的账号xiaoming,允许同步的从库地址是10.0.0.128,密码是123456
create user 'xiaoming'@'%' identified by '123456'; # 新建用于同步的账号xiaoming,允许所有从库登陆,密码是123456
flush privileges; # 立即刷新

客户端  从库

mysql -uroot -p -h10.0.0.200  # 登陆mysql服务端
123456 # 紧接着输入密码
# 然后就登陆进来了

二,mysql主从复制配置

原理:主库里面执行sql语句(data changes),数据变动之后,它会将这些变动存到自己的日志(binary log)里面去,里面村的二进制。然后日志内容交给从库,从库就从这些二进制中读取变动,然后将这些变动写入自己的日志(Realy log),然后从库将这些变动转化为sql语句并执行sql语句。这样就完成了数据同步的作用。

2.1 主库添加配置

# 在根目录,不在mysql中
vim /etc/my.cnf # mysql服务端配置默认在根目录里的etc里面的一个my.cnf文件里面
# 添加到[mysqld]的下面
server-id=1
log-bin=mysql-bin # 日志,注意名字不固定,可以叫mysql-s,就是通过这个配置,实现了写入日志的功能
# 然后保存退出
service mysqld restart # 重启mysql服务端

2.2 主库添加从库账号,要通过一个账号同步

create user 'xiaoming'@'10.0.0.128' identified by '';  # 新建用于同步的账号xiaoming,允许同步的从库地址是10.0.0.128,密码是123456
grant replication slave on *.* to 'xiaoming'@'10.0.0.128'; # 远程授权授权给地址为10.0.0.128的xiaoming账号的所有库所有表

2.3 查询主库的状态

show master status;
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 370 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
mysql-bin.000001这个文件就是主库里面的Binary log日志文件
File是二进制日志文件名,Position 是日志开始的位置。后面从库会用到 后面从库会用到 后面从库会用到!

change master to master_host='10.0.0.200',
master_user='xiaoming',
master_password='123456',
master_log_file=mysql-bin.000001',

master_log_pos=370;

MySQL主从同步技术的更多相关文章

  1. Linux 安装mysql,mariadb,mysql主从同步

    myariadb安装 centos7 mariadb的学习 在企业里面,多半不会使用阿里云的mariadb版本,因为版本太低,安全性太低,公司会配置myariadb官方的yum仓库 1.手动创建mar ...

  2. 监控mysql主从同步状态

    在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成网站正常运行的重要环节. ...

  3. 监控mysql主从同步

    1,昨天看到shell一道面试题,需求如下: 监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进 ...

  4. shell脚本监控MySQL主从同步

    企业面试题1:监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员. 阶段1:开发一个守护进程脚本每30秒实现检测一次. 阶段2:如果同步出现如下错误号(1158,1159,1008, ...

  5. 监控mysql主从同步状态是否异常

    监控mysql主从同步状态是否异常,如果异常,则发生短信或邮寄给管理员 标签:监控mysql主从同步状态是否异常 阶段1:开发一个守护进程脚本每30秒实现检测一次. 阶段2:如果同步出现如下错误号(1 ...

  6. 用shell脚本监控MySQL主从同步

    企业面试题1:(生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进程脚本每30秒 ...

  7. 运维派 企业面试题1 监控MySQL主从同步是否异常

    Linux运维必会的实战编程笔试题(19题) 企业面试题1:(生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读 ...

  8. 这次一定要教会你搭建Redis集群和MySQL主从同步(非Docker)

    前言 一直都想自己动手搭建一个Redis集群和MySQL的主从同步,当然不是依靠Docker的一键部署(虽然现在企业开发用的最多的是这种方式),所以本文就算是一个教程类文章吧,但在动手搭建之前,会先聊 ...

  9. MySQL主从同步、读写分离配置步骤、问题解决笔记

    MySQL主从同步.读写分离配置步骤.问题解决笔记 根据要求配置MySQL主从备份.读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记:       现在使用的两台服务器已经 ...

随机推荐

  1. 使用three.js写全景图,使用sprite类canvas,结合射线,点击跳转指定全景图【转】

    https://blog.csdn.net/WDCCSDN/article/details/81214804 话不多说上代码: 1.html: <!DOCTYPE html>    < ...

  2. mysql 字符串分割 和 动态执行拼接sql

    本人以前主要用的是MSSQL,最近项目在使用MYSQL,自己是一个 典型的小白.今天就记录一下 一个mysql存储过程,里面需要分割字符串和 动态执行sql语句. 关于字符串 分割我开始使用 LOCA ...

  3. 解密gzip压缩的网页数据流(转)

    因为采集某个网页遇到问题,一直无法获取页面数据. 经过一番排查,发现该网站会检查客户端的Header信息,如果遇到不明确的Header信息就直接否定,返回0数据. 如果Header信息正确,就会返回经 ...

  4. Cassandra的数据模型的理解

           Cassandra属于NoSQL数据库,NoSQL和传统关系型数据库不同,NOSQL偏好数据冗余,因为NoSQL一般无法做表关联查询. (1) keySpace 基本上可以将Keyspa ...

  5. 【T03】理解私有地址和NAT

    1.私有地址包括三块: 10.0.0.0 到 10.255.255.255 172.16.0.0 到 172.31.0.0 192.168.0.0 到 192.168.255.255 2.私有地址接入 ...

  6. ASP.NET MVC ViewBag/ViewData/TempData区别

    ViewBag/ViewData public dynamic ViewBag { get; } public ViewDataDictionary ViewData { get; set; } Vi ...

  7. JS 动态生成JSON对象

    JS 动态生成JSON对象,一般用到JSON传递参数的时候,会用到. function onGeneratedRow(columnsResult) { var jsonData = {}; colum ...

  8. js 学习

    {% load static %} <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  9. javascript es6 箭头函数

    1.箭头函数示例 let add = (a,b) => a + b         //没有语句块时,默认作为返回值 add(1,2); var multi = (a,b) => {ret ...

  10. Atitit easyui翻页组件与vue的集成解决方案attilax总结

    Atitit easyui翻页组件与vue的集成解决方案attilax总结 ===============使用1 ===========\paggingUtil_easyui_vue.js2 C:\U ...