专栏首页逸繁MySQL入门详解(三)---mysql如何进行主从配置

MySQL入门详解(三)---mysql如何进行主从配置

  1. 基本要求
    • 两台服务器(windows,linux,mac)
    • 双方mysql版本需一致,如不一致,只要主节点低于从节点
    • 两台服务器防火墙关闭
    • 双方数据库所用的用户,要具有远程访问的权限
  2. 主服务器配置
    • 修改主服务器的MySQL配置文件,window(my.ini),linux(my.cnf)
    • 授权给从数据库服务器

    GRANT REPLICATION SLAVE ON *.* to 'root'@'111.111.111.111' identified by '123456'; flush privileges;

    • mysql8.0版本授权

    CREATE USER 'root'@'111.111.111.111' IDENTIFIED WITH mysql_native_password BY '123456'; GRANT REPLICATION SLAVE ON *.* TO 'root'@'222.222.222.222';

    • 重启主服务器

    $ service mysqld restart

    • 查看主服务器BIN日志的信息(执行完之后记录下这两个值,然后在配置完从服务器之前不要对主服务器进行任何操作,因为每次操作数据库时这两个值会发生改变)

    $ show master status

#mysql唯一id
server-id = 1
#二进制日志文件,此项为必填项,否则不能同步数据;
log-bin = "mysql-bin"
#指定二进制错误文件
log-error="mysql-error"
#需要同步的数据库,如果需要同步多个数据库;
binlog-do-db = demo
#binlog-do-db = slaveDB1
#binlog-do-db = slaveDB2
#不需要同步的数据库
binlog-ignore-db = mysql
  1. 从服务器配置
    • 修改从服务器的MySQL配置文件,window(my.ini),linux(my.cnf),配置server-id 的值,并确保这个ID没有被别的MySQL服务所使用
    • 启动mysql服务
    • 执行同步sql语句

    change master to master_host='111.111.111.111', master_user='root', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=154;

    • MASTER_HOST : 设置要连接的主服务器的ip地址
    • MASTER_USER : 设置要连接的主服务器的用户名
    • MASTER_PASSWORD : 设置要连接的主服务器的密码
    • MASTER_LOG_FILE : 设置要连接的主服务器的bin日志的日志名称
    • MASTER_LOG_POS : 设置要连接的主服务器的bin日志的记录位置。
    • 启动Slave同步进程

    $ start slave;

server-id=2    #默认是1改成2
log-bin="mysql-bin"    #这行本身有
replicate-do-db=demo    #需要同步的数据库
replicate-ignore-db=mysql    #不同步系统数据库
read_only     #设只读权限
  1. 主从同步检查
    • 查看状态

    其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常

    • 如果之前从服务器启动过需要先停止,再运行

    $ stop slave

$ show slave status\G

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python中操作mysql的pymysql模块详解

    pymsql是Python中操作MySQL的模块,pymysql支持python3.x。

    步履不停凡
  • Javascript中的bind详解

    先看一下bind是什么。从上面的React代码中,可以看出bind执行后是函数,并且每个函数都可以执行调用它。 眼见为实,耳听为虚。读者可以在控制台一步步点开例...

    步履不停凡
  • ubuntu16.4+nginx+uwsgi+Django 部署上线

    Nginx是一款轻量级的HTTP服务器,采用事件驱动和异步非阻塞处理方式框架,这让其具有极好的IO性能,市场用于服务端的反向代理和负载均衡

    步履不停凡
  • mysql学习总结09 — 优化(架构层)-主从复制与读写分离

    数据库服务器压力增大,增加多台mysql数据库服务器,需要建立主从复制机制保证数据一致同步。

    CS逍遥剑仙
  • 搭建 LNMP 环境

    LNMP是建立web应用的平台,是Linux、NGINX,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的简称...

    剧终
  • mysql学习总结09 — 优化(架构层)-主从复制与读写分离

    数据库服务器压力增大,增加多台mysql数据库服务器,需要建立主从复制机制保证数据一致同步。

    csxiaoyao
  • MySQL读写分离之MyCAT

    读写分离:读写操作,分发不同的服务器,读分发到对应的服务器 (slave),写分发到对应的服务器(master)

    刘銮奕
  • 远程连接MySQL(MariaDB)数据库

    在实际的工程或项目开发中,如果数据库服务器被放置在机房或机房的机柜中,开发或工程人员只能通过网络远程连接数据库进行操作时就需要用到我下面介绍的内容了。拓扑图如下...

    周小董
  • 从零开始写项目第四篇【搭建Linux环境】

    使用SSH连接Linux环境 经过十多天的时间,我的网站备案终于完成了…接下来我就收到了阿里云的邮件。它让我在网站首页的尾部添加备案号,貌似还需要去公安网站中再...

    Java3y
  • Docker常用软件安装之MYSQL

    用户4919348

扫码关注云+社区

领取腾讯云代金券