当前位置: 首页 > news >正文

品网站建设做微商那个网站好

品网站建设,做微商那个网站好,苏州机械加工网,制作排行榜的软件文章目录 0.前言1. 主从复制简介2. 主从复制的工作流程主从复制过程中的日志文件作用#xff08;Binary Log#xff09;和中继日志#xff08;Relay Log#xff09; 3. MySQL主从复制的配置4. 参考资料 0.前言 MySQL的主从复制和读写分离是数据库领域的基本概念#xff0… 文章目录 0.前言1. 主从复制简介2. 主从复制的工作流程主从复制过程中的日志文件作用Binary Log和中继日志Relay Log 3. MySQL主从复制的配置4. 参考资料 0.前言 MySQL的主从复制和读写分离是数据库领域的基本概念也是保证系统高可用、高性能的重要技术。 主从复制Master-Slave Replication是MySQL的一项重要功能。这种技术允许 将一个MySQL数据库服务器主服务器上的数据复制到一个或多个MySQL数据库服务器从服务器上。主从复制使用场景主要包括读写分离、故障切换、备份以及数据分析等。主从复制的核心原理是主服务器将其数据更改记录在二进制日志(binary log)中从服务器将这些更改请求复制到自己的中继日志(relay log)然后从服务器重播(replay)中继日志中的事件使从服务器的数据与主服务器保持一致。 读写分离是指将数据读取和数据更新操作分开分别在不同的数据库服务器上进行。此技术通常结合主从复制来使用读操作在从服务器上进行写操作在主服务器上进行。读写分离的主要优点是可以显著地提高应用性能和扩展性因为读操作通常要比写操作更频繁将读操作的负载分摊到从服务器可以显著地减轻主服务器的压力。 实现MySQL的主从复制和读写分离需要对MySQL的架构和工作原理有深入的了解而且在实施过程中可能会遇到很多问题例如数据的一致性问题、延迟问题、故障恢复问题等。因此在实际操作中需要慎重考虑和细心实施。 1. 主从复制简介 主从复制是一种数据备份技术用于把一台MySQL数据库服务器上的数据实时复制到其他MySQL服务器上。它的主要作用是进行实时数据备份并且可以对所有从服务器进行负载均衡。 主从复制的过程大致如下主服务器上的所有数据变动如插入、删除、更新等操作都会被记录到二进制日志Binary Log中这些日志被称为二进制事件。从服务器会启动一个I/O线程它会连接到主服务器读取主服务器上的二进制日志中的事件并将这些事件写入到从服务器的中继日志Relay Log中。从服务器还会启动一个SQL线程它会读取中继日志中的事件并执行这些事件以此实现和主服务器的数据同步。 2. 主从复制的工作流程 主服务器的数据更改在主服务器上对数据进行更改后这些更改会被记录在二进制日志中这个过程由Binlog线程完成。 从服务器的I/O线程从服务器的I/O线程连接主服务器从二进制日志中读取所有未同步的数据并把这些数据保存到自己的中继日志中。 从服务器的SQL线程接着从服务器上的SQL线程读取中继日志重放其中的SQL语句从而把中继日志中的数据更新到从服务器的数据库。 主从复制过程中的日志文件作用Binary Log和中继日志Relay Log 二进制日志Binary Log是主服务器上的一种日志文件记录了所有改变了数据库数据的SQL语句如INSERT、UPDATE、DELETE等。每当主服务器上执行一次事务都会在二进制日志中添加一条记录。二进制日志既可以用于主从复制也可以用于数据恢复。 中继日志Relay Log是从服务器上的一种日志文件其内容来自主服务器的二进制日志。从服务器上的I/O线程负责从主服务器读取二进制日志中的事件并将这些事件写入到中继日志中。然后从服务器上的SQL线程负责读取并执行中继日志中的事件以此实现和主服务器的数据同步。 还有一些其他类型的日志错误日志Error Log、慢查询日志Slow Query Log等它们在主从复制中起到的作用和重要性相对较小。 3. MySQL主从复制的配置 在主服务器上配置MySQL打开主服务器的MySQL配置文件my.cnf根据 的系统可能在/etc/mysql/my.cnf, /etc/my.cnf,或者 /usr/local/mysql/etc/my.cnf 添加或者更改以下配置 [mysqld] server-id 1 log_bin /var/log/mysql/mysql-bin.logserver-id需要设置为一个唯一的数字log_bin则是定义了二进制日志文件的位置。 重启MySQL服务以应用新的配置 service mysql restart在主服务器上创建一个用于复制的用户并给它赋予需要的权限 mysql CREATE USER repl% IDENTIFIED BY password; mysql GRANT REPLICATION SLAVE ON *.* TO repl%;查看主服务器的状态 mysql SHOW MASTER STATUS;执行 SHOW MASTER STATUS; 命令可以看到类似以下的输出 ------------------------------------------------------------------------------- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | ------------------------------------------------------------------------------- | mysql-bin.000001 | 107 | | | | ------------------------------------------------------------------------------- 1 row in set (0.00 sec)这里的Filemysql-bin.000001和Position107是在设置从服务器时需要用到的重要信息需要记录下这两个值。 记下File和Position的值这将在配置从服务器时用到。 接着在从服务器上也需要进行配置编辑my.cnf文件添加或者更改以下配置 [mysqld] server-id 2 relay-log /var/log/mysql/mysql-relay-bin.log log_bin /var/log/mysql/mysql-bin.log这里的server-id需要和主服务器的不同。 重启从服务器的MySQL服务。 在从服务器上设置复制使用之前在主服务器上创建的用户以及记下的File和Position,分别填写到MASTER_LOG_FILE和MASTER_LOG_POS mysql CHANGE MASTER TO MASTER_HOSTmaster_host_name,- MASTER_USERrepl,- MASTER_PASSWORDpassword,- MASTER_LOG_FILErecorded_log_file_name,- MASTER_LOG_POSrecorded_log_position;开始复制 mysql START SLAVE;如果失败情况下有时会输出 如果未正确配置从服务器可能会看到如下错误消息 ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log如果想查看从服务器的状态以确认是否已经成功启动可以执行SHOW SLAVE STATUS;命令。这将显示出从服务器的各种状态信息。 9. 使用下面的命令检查从服务器的状态确保复制在正常运行 mysql SHOW SLAVE STATUS\G;如果配置正确且主从复制已经正常运行那么 应该能看到Slave_IO_Running: Yes和Slave_SQL_Running: Yes。 成功的结果示例 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 |... --------------------------------------------------------------------------------------------------------------------------------... | Waiting for master to send event | localhost | root | 3306 | 60 | mysql-bin.000002 | 323 | mysq... --------------------------------------------------------------------------------------------------------------------------------... 1 row in set (0.00 sec)执行的结果中。IO线程正在等待主服务器发送事件主服务器是运行在本地的MySQL服务器连接主服务器的用户名是root端口是3306如果连接失败会每60秒重试一次主服务器的二进制日志文件名是mysql-bin.000002从主服务器的二进制日志文件读取的位置是323从服务器的中继日志文件名是mysql-relay-bin.000001。 SHOW SLAVE STATUS;命令会返回一行由复制从服务器状态变量组成的信息 Slave_IO_State: slave IO线程当前的状态 Slave_IO_State列表示复制I/O线程的状态这里是几种常见的状态 Connecting to master表示正在连接到主服务器。Waiting for master to send event表示连接已经建立正在等待主服务器发送二进制日志事件。Reading event from the master表示正在从主服务器读取一个二进制日志事件。Waiting to reconnect after a failed master event read表示读取主服务器的二进制日志事件失败正在等待重试连接。Waiting for the slave SQL thread to free enough relay log space表示等待复制SQL线程释放足够的中继日志空间。Queueing master event to the relay log表示将从主服务器读取的事件写入中继日志。Waiting for master to send event表示正在等待新的事件。Checking master version检查主服务器的版本。Registering slave on master在主服务器上注册从服务器。Requesting binlog dump请求主服务器发送二进制日志。Waiting to reconnect after a failed binlog dump request在请求二进制日志失败后等待重新连接。Finished reading one binlog; switching to next binlog完成读取一个二进制日志切换到下一个二进制日志。 Master_Host: 主服务器的主机名或IPMaster_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: IO线程是否正在运行Slave_SQL_Running: SQL线程是否正在运行Replicate_Do_DB: 要复制的数据库如果没有指定任何数据库该项为空Replicate_Ignore_DB: 要忽略的数据库如果没有指定任何数据库该项为空Last_Errno: 最后一个错误的错误号Last_Error: 最后一个错误的错误信息 4. 参考资料 官网 MySQL 8.0 Reference Manual -17 Replicationhttps://dev.mysql.com/doc/refman/8.0/en/replication.html SHOW SLAVE STATUS Syntax部分对Slave_IO_State进行了详细解释https://dev.mysql.com/doc/refman/8.0/en/show-slave-status.html
http://www.sadfv.cn/news/293238/

相关文章:

  • 深圳营销型网站建站电商平台介绍
  • 做网站如何用代码把字体变大网站建设的市场情况
  • wordpress样式乱了seo搜索引擎优化试题
  • 网站怎么做rss宣传片拍摄手法
  • 心海建站班级网站建设
  • 酷炫网站首页抖音推广费用标准
  • php网站开发实用技术练习题广州活动策划公司十大排行榜
  • 图片转链接生成器网站农村建设网站的重要性
  • 网站上的3d怎么做的wordpress写代码插件吗
  • 网站pr怎么提升成功网络营销案例
  • 建网站是自己做还是用CMS班级优化大师使用指南
  • 宁波做网站公司宣传片制作公司有哪些公司
  • 把网站放到服务器国外个人网站域名注册
  • 公司网站乱码网络公司给别人做网站的cms是买的授权么
  • 网站怎么上传项目网手游
  • 电脑上如何做课程视频网站一个优秀的网站
  • 网站建设服务哪家有搜狗推广
  • 哪些网站做京东的团购张家港网站建设门店
  • cute模板wordpress优化大师网页版
  • 网站开发前端兼职响应式网站代理
  • 安康企业网站建设价格网址浏览器
  • 网站登录慢网页制作报价模板
  • 济南网站建设多少费用怎样建立自己的微信公众号
  • 室内设计图网站有哪些廊坊视频优化效果
  • 网站ico如何添加wordpress首页模板修改
  • 东莞好的网页设计培训试听搜索引擎优化的内容包括
  • 潜江建设局网站wordpress多域名绑定域名
  • 网站备案做优惠券印刷电商网站开发
  • 站长之家网站素材股票配资网站建设
  • wordpress主题源代码微信seo什么意思