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

吉安网站建设吉安手机上自己做网站吗

吉安网站建设吉安,手机上自己做网站吗,微信网站建设app公司,在哪里做企业网站一、MySQL集群架构的介绍 我们在使用MySQL数据库的时候#xff0c;只是一个单机的数据库服务。在实际的生产环境中#xff0c;数据量可能会非常庞大#xff0c;这样单机服务的MySQL在使用的时候#xff0c;性能会受到影响。并且单机的数据安全想也会受到影响。因此在生产黄…一、MySQL集群架构的介绍 我们在使用MySQL数据库的时候只是一个单机的数据库服务。在实际的生产环境中数据量可能会非常庞大这样单机服务的MySQL在使用的时候性能会受到影响。并且单机的数据安全想也会受到影响。因此在生产黄静中我们通常搭建MySQL的集群架构来提供庞大数据量的基础上的高性能读写的需求。 主从架构介绍 又有一些其他的名称主从模式、主从复制等。 所谓的主从架构指的是建立多个完全一样的数据库其中一个数据库作为主库主要是用的数据库其他的作为从库次要的数据库。主从架构分为很多种一主一从、双主架构、一主多从、多主多从等模式。 通常主库可读可写从库只读。 MySQL最常见也是最简单的主从架构的实现就是“主从复制MySQL Replication”模式这也是MySQL自带的功能无需借助于第三方的工具就可以实现一个主从架构的集群模式。 主从架构相比较于单机服务的MySQL来说优势有很多。 最常见的优势就是写操作连接主库读操作连接从库实现读写分离。 主从复制的原理 主从复制是通过重演binlog来实现主库数据的异步复制。 即在主库上打开binlog记录每一次的数据库操作然后从库会有一个IO线程负责跟主库建立TCP连接请求主库将binlog传输到从库。此时主库上会有一个Log Dump线程负责通过这个TCP连接把binlog日志传输给从库的IO线程。接着从库的IO线程会把读取到的binlog日志数据写入自己的中继日志文件Relay中。然后从库上另外一个SQL线程会读取中继日志文件中的操作进行操作重演打到还原数据的目的。 1、主库的数据发生了变更将日志写入到主库的binlog中。 2、主库的LogDump线程将binlog文件传输到从库的IO线程。 3、从库的IO线程将接收到的binlog写入到relay log中。 4、从库的SQL线程读取relay log中的日志并操作重演将结果同步到从库中。 二、MySQL主从复制的实现 1、环境说明 要实现MySQL的主从架构的搭建需要满足以下条件 所有节点的MySQL版本必须一致所有节点的时间必须同步所有节点需要启动binlog服务 2、主库配置 我们需要编辑MySQL配置文件这个配置文件在不同的操作系统中的位置和名称都不同需要根据自己的操作系统来查找这个文件 Windows: C:\ProgramData\MySQL\MySQL Server 8.0\my.ini Linux: /etc/my.cnf // macOS: // dmg安装: /etc/my.cnf // homebrew安装: Intel CPU: /usr/local/homebrew/etc/my.cnf AppleSilicon CPU: /opt/homebrew/etc/my.cnf1、在[mysqld]的下方添加或修改如下属性: // 服务节点的唯一标识需要给集群中的每个服务分配一个单独的ID server-id101 // 打开binlog日志并指定文件名 log_binmaster-bin // binlog日志文件 log_bin-indexmaster-bin.index2、修改完成之后需要重启MySQL服务 为root用户分配replication slave的权限 // 登录到主库 mysql -u root -p // 为root用户分配权限 // MySQL8中需要先添加root% 这个用户 // create user root% identified by 123456 mysql grant replication slave on *.* to root%; mysql flush privileges; // 查看主节点同步状态 mysql show master status; -------------------------------------------------------------------------------- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | -------------------------------------------------------------------------------- | master-bin.000001 | 543 | | | | -------------------------------------------------------------------------------- 1 row in set (0.00 sec)在上述输出结果中 File当前日志文件 Position日志文件中的索引 Binlog_Do_DB需要记录binlog日志的库不设置标识全部的库 Binlog_Ignore_DB不需要记录binlog日志的库 3、从库配置 我们需要编辑MySQL配置文件这个配置文件在不同的操作系统中的位置和名字都不同需要根据自己的操作系统来查找这个文件 Windows: C:\ProgramData\MySQL\MySQL Server 8.0\my.ini Linux: /etc/my.cnf macOS: dmg安装: /etc/my.cnf homebrew安装: Intel CPU: /usr/local/homebrew/etc/my.cnf AppleSilicon CPU: /opt/homebrew/etc/my.cnf在[mysqld]的下方添加或修改如下属性: // 服务节点的唯一标识需要给集群中的每个服务分配一个单独的ID // 一定要注意不能和其他节点重复 server-id102 // 打开binlog日志并指定文件名 log_binslave-bin // 打开relaylog日志 relay_logslave-relay-bin relay_log-indexslave-relay-bin.index skip-slave-start修改完成之后需要重启MySQL服务 然后登录到其他从库设置从主库同步状态 登录从库 mysql -uroot -p 设置同步主节点 change master to master_host192.168.10.101, # 设置主库的地址 master_port3306, # 设置主库使用的端口号 master_userroot, # 设置主库的用户名 master_password123456, # 设置主库的密码 master_log_filemaster-bin.000001, # 设置主库正在使用的binlog文件可以在主库使用 show master status 查询 master_log_pos543; # 设置从什么位置同步 开启slave start slave; 查看主从同步状态 show slave status;// 也可以使用 show slave status \G*************************** 1. row ***************************Slave_IO_State: Waiting for source to send eventMaster_Host: 192.168.10.101Master_User: rootMaster_Port: 3306Connect_Retry: 60Master_Log_File: master-bin.000001Read_Master_Log_Pos: 916Relay_Log_File: slave-relay-bin.000002Relay_Log_Pos: 1133Relay_Master_Log_File: master-bin.000001Slave_IO_Running: YesSlave_SQL_Running: Yes注意 正常的结果是如上所示的结果但是总有意外的时候 有些同学可能会出现 Slave_IO_Running:Connecting的状态甚至是NO的状态说明从库的IO线程启动失败。原因如下 1、可能是主库设置错误检查 master_host 和 master_port的设置是否正确 2、可能是主库的用户名和密码错误检查 master_user 和 master_password 是否正确 3、可能是主库防火墙未关闭检查防火墙 4、可能是主库不能远程登录检查主库用户的远程登录权限 5、可能是 master_log_file 文件设置出问题 6、可能是虚拟机克隆导致的两个节点的uuid相同检查 /var/lib/mysql/auto.cnf 中记录的uuid如果相同的话随便修改一个重启服务即可。 上述几种错误情况在修改之后都是需要重新启动slave服务的。先使用 stop slave 停止服务再使用 start slave开启 有些同学可能会出现 Slave_SQL_Running: No 的状态说明从库的SQL线程启动失败一般是因为执行主库同步过来的数据的时候失败了例如需要创建的数据库、表已经存在导致。 解决方案 删除从库中同名的库、表从主库的日志中恢复数据。 如果想要保留从库中的库、表先停止slave服务设置 set global sql_slave_skip_counter 1; 来设置需要跳过的错误的个数。1是可以修改的想要跳过几个错误就设置为多少。然后启动slave服务即可。 三、主从复制测试 我们在主库中创建数据库、创建表可以在从库中看到有数据同步过来了。而且在从库中使用 show slave status \G 来查看从库的状态的时候会发现记录的Pos位置已经更新。 特点 MySQL的主从复制架构下可以实现读写分离、业务分流来降低单个数据库的压力。
http://www.zqtcl.cn/news/548487/

相关文章:

  • 建设工程监理招标网站W做网站
  • 网站建设与维护教学课件网站上线前做环境部署
  • 信誉好的网站建设做网站成为首富的外国人
  • 常州网站制作市场湖北省荆门市城乡建设网站
  • 泉州网站制作运营商专业北京软件公司招聘信息查询
  • 车床加工东莞网站建设网站建设教学改进
  • 深圳专业做网站建设西安网站建设有限公司
  • wordpress 一键建站wordpress子主题style
  • 昆明设计网站怎么做网络广告
  • 2018什么做网站深圳企业网站设
  • 北京旅游外贸网站建设博客集成wordpress
  • 中国最好的建设网站哪些网站教你做系统
  • 自己做网站别人怎么看见网站建设办公
  • 凡科做网站视频网站哪家好
  • 查询网站是否正规营销策略国内外文献综述
  • 做网页用的网站wordpress用户角色权限管理
  • 怎么查网站备案的公司wordpress 无刷新评论
  • 学前心理学课程建设网站百度极速版下载
  • 佛山做营销型网站建设深圳宝安区租房
  • 做汽车团购的网站建设营销方案有哪些
  • 做设计的网站网络公关什么意思
  • 一般课程网站要怎么做做钓鱼网站软件下载
  • 济南网站建设92jzh收不到wordpress的邮件
  • 一键优化在哪里打开新手怎么入行seo
  • 网站建设的费用明细创建公司网站需要注意什么
  • 微网站怎么做的好宣传片拍摄服务
  • 抚州网站开发机构wordpress开源
  • 企业营销网站建设不属于网页制作工具
  • 呼和浩特网站建设信息建服装类网站需要考虑的因素
  • 百度站长平台工具南京开发app的公司