首页 > 数据库 >如何配置mysql主从复制中的二进制日志传输?

如何配置mysql主从复制中的二进制日志传输?

时间:2023-06-28 17:24:55浏览次数:43  
标签:主从复制 用户名 配置文件 二进制 复制 mysql 服务器 日志

要配置MySQL主从复制中的二进制日志传输,需要进行以下步骤:

  1. 确保主服务器的二进制日志功能已启用:在主服务器的配置文件(通常是 my.cnfmy.ini)中,找到并确认以下配置项已启用:

    log_bin = ON
    binlog_format = ROW
    

    log_bin 表示启用二进制日志功能,binlog_format 设置日志的格式为行级别,这是一种推荐的格式。

  2. 配置主服务器的唯一标识:为主服务器设置一个唯一的标识符。在主服务器的配置文件中,添加以下配置项:

    server-id = [唯一标识号]
    

    [唯一标识号] 可以是任意整数,确保在整个复制拓扑中是唯一的。

  3. 重启主服务器:保存配置文件后,重启主服务器以使更改生效。

  4. 在从服务器上启用二进制日志和复制功能:在从服务器的配置文件中,配置以下选项:

    log_bin = ON
    replicate_do_db = [需要复制的数据库名称]
    

    log_bin 启用二进制日志功能,replicate_do_db 指定需要复制的数据库名称。可以指定多个数据库,以逗号分隔。

  5. 配置从服务器连接到主服务器:在从服务器的配置文件中,添加以下配置项:

    server-id = [唯一标识号]
    master_host = [主服务器 IP 地址]
    master_user = [主服务器复制用户名]
    master_password = [主服务器复制用户密码]
    master_port = [主服务器端口号]
    

    [唯一标识号] 是从服务器的唯一标识号,[主服务器 IP 地址] 是主服务器的 IP 地址,[主服务器复制用户名][主服务器复制用户密码] 是用于复制连接的主服务器的用户名和密码,[主服务器端口号] 是主服务器的端口号。

  6. 启动从服务器:保存配置文件后,启动从服务器以使更改生效。

  7. 在主服务器上创建复制用户并授予权限:在主服务器上,使用以下命令创建复制用户并授予相应的权限:

    CREATE USER '[主服务器复制用户名]'@'[从服务器IP地址]' IDENTIFIED BY '[主服务器复制用户密码]';
    GRANT REPLICATION SLAVE ON *.* TO '[主服务器复制用户名]'@'[从服务器IP地址]';
    FLUSH PRIVILEGES;
    

    [主服务器复制用户名] 替换为实际的复制用户名,[从服务器IP地址] 替换为从服务器的 IP 地址,[主服务器复制用户密码] 替换为复制用户的密码。这些命令将创建一个具有适当权限的复制用户。

  8. 在从服务器上启动复制进程:连接到从服务器的MySQL命令行界面,并执行以下命令以启动复制进程:

    CHANGE MASTER TO MASTER_HOST='[主服务器IP地址]', MASTER_USER='[主服务器复制用户名]', MASTER_PASSWORD='[主服务器复制用户密码]', MASTER_PORT=[主服务器端口号], MASTER_AUTO_POSITION=1;
    START SLAVE;
    

    [主服务器IP地址] 替换为实际的主服务器的IP地址,[主服务器复制用户名][主服务器复制用户密码] 替换为复制用户的用户名和密码,[主服务器端口号] 替换为主服务器的端口号。

  9. 检查复制状态:使用以下命令检查复制状态,在从服务器上执行:

    SHOW SLAVE STATUS\G;
    

    检查输出结果中的 Slave_IO_RunningSlave_SQL_Running 字段,确保两者的值都为 "Yes",表示复制进程正常运行。

完成上述步骤后,MySQL主从复制中的二进制日志传输就配置完成了。从服务器将会持续从主服务器上获取并应用二进制日志,以保持数据的同步。

标签:主从复制,用户名,配置文件,二进制,复制,mysql,服务器,日志
From: https://www.cnblogs.com/shamo89/p/17511959.html

相关文章

  • mysql连接另一台电脑机器数据库
    方法一:1.开放被访问机器端口:在windows防火墙的高级设置中添加新的入站规则,选择端口选项,然后选择TCP协议,端口输入3306,其他选项按照默认即可。2.假设192.168.1.3为服务器3.首先在ip为192.168.1.103的机子上能够ping通4.把两台电脑的IP设置在同一个网段,如:192.168.1.2,192.168.1.3......
  • Win10下,配置Mysql开启请求日志
    当我们在调试程序时,需要知道最终发给Mysql的是啥语句,这时候就要看Mysql收到的请求了。Mysql有四种日志:ErrorLog(错误日志),记录MySQL运行过程ERROR,WARNING,NOTE等信息,系统出错或者某条记录出问题可以查看ERROR日志。GeneralQueryLog(日常运行日志),记录MySQL运行中的每条请......
  • docker部署指定版本的mysql client
    docker部署mysqlclientdockerpullmysql:8.0.31cat>>~/.bashrc<<'EOF'##--rm表示容器退出及销毁aliasmysql-cli="dockerrun-it--rmmysql:8.0.31mysql"EOFsource~/.bashrcmysql-cli-h123.123.123.123-P23306-uxxxxxxxx-pxx......
  • Linux - 操作mysql数据库
    运行环境Ubuntu20.04虚拟机Mysql8.0APIlibmysqlclient-devgcc9.4.0一、准备工作1、在Ubuntu上准备mysql开发环境更新软件源sudoaptupdate安装libmysqlclient-dev,这个lib库是Linux下C/C++连接mysql的客户端sudoaptinstalllibmysqlclient-dev2、创建测试数据库......
  • C# ListBox 打印日志
    LvLogHelper.GetInstance(this.lbLog).PrintLog("初始化程序完成");LvLogHelper.GetInstance().PrintLog("请连接综测仪表");LvLogHelper.GetInstance().PrintLog("请加载测试用例");usingSystem;usingSystem.IO;usingSystem.Runtim......
  • mysql workbench 从模型导出表结构
    前言本教程,主要讲述,利用mysqlworkbench从数据库模型导出建表语句mysqlworkbench导出建表语句概述mysql生成数据库模型从数据库模型生成建表语句首先,浏览数据库模型导出建表语句导出一个库的建表语句在EER视图中,File—>Export—->forwarengineersqlcreatescript导出整个模型......
  • mysql collation 校对规则 utf8_general_ci 与 utf8_unicode_ci的区别
    援引官方文档 MysqldocumentForanyUnicodecharacterset,operationsperformedusingthe xxx_general_ci collationarefasterthanthoseforthe xxx_unicode_ci collation.Forexample,comparisonsforthe utf8_general_ci collationarefaster,butslightly......
  • mysql workbench 快捷键
    mysqlworkbench常用快捷键新建tab(newtab)ctrl+t执行当前语句(executecurrentstatement)ctrl+enter执行全部或选中的语句(executeallorselection)ctrl+shift+enter查看执行计划(explaincurrentstatement)ctrl+alt+x注释--加空格,如–select*fromt;以上快捷......
  • 使用 SQLAlchemy 库来实现对 MySQL 数据库的增删改查
    在 Flask 中使用SQLAlchemy库来实现对MySQL数据库的增删改查fromflaskimportFlask,request,jsonifyfromflask_sqlalchemyimportSQLAlchemyapp=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='mysql://username:password@localhost/dbname'ap......
  • mysql系列基础篇03----约束
    一、概述1、概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据2、目的:保证数据库中数据的正确,有效性和完整性。3、分类  二、约束演示创建一个用户表createtablemyuser(idintprimarykeyauto_incrementcomment'主键',namevarchar(10)notnulluniq......