mysql5.7 主从安装

2023-10-27

1、安装mysql5.7

1.1 下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

1.2 安装mysql源

yum install mysql57-community-release-el7-8.noarch.rpm

1.3 检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

1.4 安装

yum install mysql-community-server

1.5 启动mysql服务

systemctl start mysqld #启动
systemctl status mysqld #状态

1.6 开机启动

systemctl enable mysqld
systemctl daemon-reload

1.7 修改root本地登录密码

grep 'temporary password' /var/log/mysqld.log
ALTER USER 'root'@'localhost' IDENTIFIED BY 'TabY_opaw5';

1.8 表不区分大小写

修改my.cnf,添加一行

>/etc/my.cnf
# 表名不区分大小写
lower_case_table_names=1

重启mysql

>systemctl restart mysqld

2、主从配置

2.1 主库创建同步账号

    我们要在主数据库里创建一个账号,并且该账号要授予 REPLICATION SLAVE 权限。

create user 'repl'@'%' identified by 'TabX_opBo5';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

2.2 配置主数据库

    要主数据库,你必须要启用二进制日志(binary logging),并且创建一个唯一的Server ID,这步骤可能要重启MySQL。 
主服务器发送变更记录到从服务器依赖的是二进制日志,如果没启用二进制日志,复制操作不能实现(主库复制到从库)。 
    复制组中的每台服务器都要配置唯一的Server ID,取值范围是1到(232)−1,你自己决定取值。 
配置二进制日志和Server ID,你需要关闭MySQL和编辑my.cnf或者my.ini文件,在 [mysqld] 节点下添加配置。 编辑my.cnf:

vi /etc/my.cnf
server-id = 1
log_bin = master-bin
log_bin_index = master-bin.index
binlog_do_db = test
binlog_ignore_db = mysql

    备注:server-id 服务器唯一标识,log_bin 启动MySQL二进制日志,binlog_do_db 指定记录二进制日志的数据库,binlog_ignore_db 指定不记录二进制日志的数据库。 
    重启mysql:

systemctl restart mysqld

   首先登陆数据库,然后刷新所有的表,同时给数据库加上一把锁,阻止对数据库进行任何的写操作   

mysql > flush tables with read lock;

 

    然后执行下面的语句获取二进制日志的信息:

mysql> show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000003 |      154 | test         | mysql            |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set

    注意:master-bin.000003和154这两个值要记录下来

    这时可以对数据库解锁,恢复对主数据库的操作

mysql > unlock tables;

2.3 配置从数据库

    编辑my.cnf:

vi /etc/my.cnf

    添加

server-id = 2
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index

    重启mysql

systemctl restart mysqld

    在slave服务器中登陆mysql,连接master主服务器数据库

change master to master_host='主库ip', master_port=3306, master_user='repl', master_password='TabX_opBo5', master_log_file='master-bin.000003', master_log_pos=154;

    启动slave:

start slave;
mysql> show slave status
;
+----------------------------------+---------------+-------------+-------------+---------------+-------------------+---------------------+------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+----------------------------+-----------+---------------------+--------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+
| Slave_IO_State                   | Master_Host   | Master_User | Master_Port | Connect_Retry | Master_Log_File   | Read_Master_Log_Pos | Relay_Log_File         | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_Do_DB | Replicate_Ignore_DB | Replicate_Do_Table | Replicate_Ignore_Table | Replicate_Wild_Do_Table | Replicate_Wild_Ignore_Table | Last_Errno | Last_Error | Skip_Counter | Exec_Master_Log_Pos | Relay_Log_Space | Until_Condition | Until_Log_File | Until_Log_Pos | Master_SSL_Allowed | Master_SSL_CA_File | Master_SSL_CA_Path | Master_SSL_Cert | Master_SSL_Cipher | Master_SSL_Key | Seconds_Behind_Master | Master_SSL_Verify_Server_Cert | Last_IO_Errno | Last_IO_Error | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Master_Server_Id | Master_UUID                          | Master_Info_File           | SQL_Delay | SQL_Remaining_Delay | Slave_SQL_Running_State                                | Master_Retry_Count | Master_Bind | Last_IO_Error_Timestamp | Last_SQL_Error_Timestamp | Master_SSL_Crl | Master_SSL_Crlpath | Retrieved_Gtid_Set | Executed_Gtid_Set | Auto_Position | Replicate_Rewrite_DB | Channel_Name | Master_TLS_Version |
+----------------------------------+---------------+-------------+-------------+---------------+-------------------+---------------------+------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+----------------------------+-----------+---------------------+--------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+
| Waiting for master to send event | 172.31.150.25 | root        |        3306 |            60 | master-bin.000003 |                 154 | slave-relay-bin.000010 |           321 | master-bin.000003     | Yes              | Yes               |                 |                     |                    |                        |                         |                             |          0 |            |            0 |                 154 |             528 | None            |                |             0 | No                 |                    |                    |                 |                   |                |                     0 | No                            |             0 |               |              0 |                |                             |                1 | fa758afe-7a75-11e8-988c-00163e058649 | /var/lib/mysql/master.info |         0 | NULL                | Slave has read all relay log; waiting for more updates |              86400 |             |                         |                          |                |                    |                    |                   |             0 |                      |              |                    |
+----------------------------------+---------------+-------------+-------------+---------------+-------------------+---------------------+------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+----------------------------+-----------+---------------------+--------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+
1 row in set

3、测试

    在主库的test库中新建表和添加数据库,会自动同步到slave库中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql5.7 主从安装 的相关文章

随机推荐

  • ABB技术参考手册、RAPID指令、函数和数据类型

    地址 https download csdn net download weixin 47816096 87575468
  • 搭建DVWA漏洞环境靶场

    一 DVWA简介 DVWA是一款开源的渗透测试平台 包含Brute force 暴力破解 XSS CSRF SQL注入 文件上传与下载等漏洞 并分各个等级难度的测试环境 DVWA链接 网盘自取 链接 https pan baidu com
  • 妙借Git自带的OpenSSL生成RSA公私钥的.pem 文件

    大家好 我是神韵 是一个技术 生活博主 出文章目的主要是两个 一是好记忆不如烂笔头 记录总结中提高自己 二是希望我的文章可以帮到大家 欢迎来点赞打卡 你们的行动将是我无限的动力 本篇主题是 妙借Git自带的OpenSSL生成RSA公私钥的
  • 一分钟掌握数据库垂直拆分

    转自 2016 12 20 58沈剑 一 缘起 当数据库的数据量非常大时 水平切分和垂直拆分是两种常见的降低数据库大小 提升性能的方法 假设有用户表 user uid bigint name varchar 16 pass varchar
  • 好玩的 CSS - 40 个有趣的 CSS 网站

    好玩的 CSS 40 个有趣的 CSS 网站 基础学习 cssreference io CSS 参考书 chokcoco github io CSS Inspira CSS 灵感 www awwwards com sites zero UI
  • 【C/C++】g++ 与 gcc的区别

    博 主 米码收割机 技 能 C Python语言 公众号 测试开发自动化 获取源码 商业合作 荣 誉 阿里云博客专家博主 51CTO技术博主 专 注 专注主流机器人 人工智能等相关领域的开发 测试技术 C C g 与 gcc的区别 目录 C
  • 微信小程序的一键授权登录。

    微信小程序的授权登录 首先你需要知道微信小程序官网提供的授权登录流程 附上网址 官网流程图 分析得到 前端 即小程序端 需要做的事情 通过wx login 获取code值 通过后端提供的API接口 使用 wx request把code值发送
  • 栈的链式存储结构的简单实现

    上一篇博客我们进行了栈的顺序存储结构的简单实现 这一篇博客进行栈的链式存储结构的简单实现 一 链栈的定义 我们都知道栈有栈顶指针 链表有头指针 这两者是缺一不可的 所以在进行链栈的设计的时候 我们就把栈顶放在单链表的头部 从而方便我们的插入
  • sqli-labs POST (18-22)

    LESS 18 随手输入username和password 可以从回显中看到 当用户名密码正确时 会有如下回显 错误时只有一个 Your IP ADDRESS is 127 0 0 1 根据提示可知是user agent的http头注入 用
  • C/C++线性表的实现

    新手出路 多多请教 线性表的定义 线性表 linear list 是最基本 最简单 最常用的一种数据结构 线性表中数据元素之间的关系是一对一的关系 即除了第一个和最后一个数据元素之外 其它数据元素都是首尾相接的 但这只适用大部分线性表 而不
  • C#笔记1--如何在登录界面设置主界面的ToolStripMenuItem的enabled属性,实现不同用户进入不同模块

    C 如何在登录界面设置主界面的ToolStripMenuItem的enabled属性 实现不同用户进入不同模块 写winform程序的时候 相信很多人都想在登录的时候根据用户类型使主界面的ToolStripMenuItem选项部分禁止 从而
  • Spring boot源码初识三 自定义starter

    项目结构 1 父级项目 my springboot starter 2 子module my spring boot starter 3 子module my spring boot starter autoconfigure 4 star
  • FAPI专题-6:5G FAPI接口 - 中文规范-2- 主要流程

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 117602098 目录 第1章 概述
  • Linux命令学习 - Locate

    Locate Linux locate命令简介 语法 参数 附加说明 updatedb的配置文件 etc updatedb conf 设置定时updatedb Crontab命令 Linux locate命令简介 locate locate
  • 常见的magent问题系列二--Fatal error: Call to a member function toHtml() on a non-object in ../../Layout.php

    有些模板不兼容 就会出现这种情况 Fatal error Call to a member function toHtml on a non object in home www yourMagento html gamemore app
  • mysql-按照指定字段排序

    select from order ORDER BY FIELD status UNPAID DELIVERED PAID WAIT DELIVER desc asc
  • uart和usart的区别

    uart 通用异步收发传输器 Universal Asynchronous Receiver Transmitter 通常称作UART 是一种异步收发传输器 是电脑硬件的一部分 它将要传输的资料在串行通信与并行通信之间加以转换 作为把并行输
  • 2023苹果CMS v10魔加主题1.1.6破解版 支持苹果CMS全部版本

    2023苹果cms v10魔加主题1 1 6破解版 支持苹果cms全部版本 后台快捷菜单配置添加魔加主题 mojia theme div class layui tab item blockquote class layui elem qu
  • jquery控制a标签点击后禁止再次点击

    function test 防止多次点击提交 if div a hasClass disabled return div a addClass disabled div a layui layer btn0 text 提交中 div a l
  • mysql5.7 主从安装

    1 安装mysql5 7 1 1 下载mysql源安装包 wget http dev mysql com get mysql57 community release el7 8 noarch rpm 1 2 安装mysql源 yum ins