MySQL主从复制

【MySQL】主从复制 MySQL是一款关系型数据库,被广泛应用于各种互联网应用中。随着业务的不断扩大,数据量不断增加,如何让MySQL具有更好的可用性和容灾能力成为了越来越重要的问题。本文将重点介绍MySQL主从复制和高可用性的实现,旨在为MySQL的使用者提供指导和帮助。本篇博客介绍了MySQL高可用性的常见解决方案,包括负载均衡、主从复制、主主复制以及结合MHA和Galera Cluster的整合方案。高可用性对于数据库系统至关重要,它可以确保用户的请求始终得以满足,并且降低系统停机时间的风险。 阅读详情

什么是MySQL主从复制

简单来说就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟),通过这种方式来保证数据的一致性,就是主从复制

Mysql主从复制

https://www.mysql.com/(mysql官网)

1.pos | gtid(生产中使用的环境)

2.主从复制核心:二进制日志,因此一定要打开二进制日志
3.主从复制默认是异步的(异步:半同步|全同步)
异步:
半同步:数据提同步要等到受到后端返回ack才提交数据
全同步:等待数据完全复制成功之后才结束(速度最慢)
4.master(多线程)———–slave(单线程)
会造成延迟
5.灾备
6.组提交

mysql1:主
mysql2:备

[root@mysql1 ~]# yum install mysql-server -y
[root@mysql1 ~]# vim /etc/my.cnf 
.....
     8  server-id=1     #主服务器的id值 
     9  log-bin=binlog      #启动二进制日至系统
    10  binlog-do-db=test   #二进制需要同步的数据库名,如果需要同步多个库,按照这个参数,再添加,然后修改后面的数据库名字就行 
    11  binlog-ignore-db=mysql  #禁止同步mysql数据库
.....
[root@mysql1 ~]# /etc/init.d/mysqld start
[root@mysql1 ~]# cd /var/lib/mysql/
[root@mysql1 mysql]# ls
binlog.000001  binlog.000003  ibdata1      ib_logfile1  mysql.sock
binlog.000002  binlog.index   ib_logfile0  mysql        test
[root@mysql1 mysql]# cat binlog.index 
./binlog.000001
./binlog.000002
./binlog.000003
[root@mysql1 mysql]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.71-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show master status;
+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000003 |      106 | test         | mysql            |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)
#创建复制帐号1,在master的数据库中建立一个备用账户,每个slave使用用户名和密码连接master,进行复制操作的用户会授予replicati on slave权限,用户名的密码都会存储在slave服务器的master.info中。 
mysql> grant replication slave on *.* to repl@'172.25.30.%' identified by 'westos';     
#建立一个账户repl,并且只能允许172.25.64.%这个网段地址来登陆,密码是westos 
Query OK, 0 rows affected (0.00 sec)

mysql> show master status;
+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000003 |      405 | test         | mysql            |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)

mysql> quit
Bye
[root@mysql1 mysql]#



[root@mysql2 ~]# mysql -h 172.25.30.6 -u repl -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.1.71-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.00 sec)

mysql> quit
Bye
[root@mysql2 ~]# vim /etc/my.cnf   #修改从配置文件
..... 
     8  server-id=2 #从服务器 ID 号,不要和主 ID 相同,如果设置多个从服务器,每个从服务器必须有一个唯一的 server-id 值,必须与主服务器的以及其它从服务器的不相同。可以认为 server-id 值类似于 IP 地址:这些 ID 值能唯一识别复制服务器群集 
     9  read-only=1
.....
[root@mysql2 ~]# /etc/init.d/mysqld restart
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[root@mysql2 ~]# tail -f /var/log/mysqld.log 
[root@mysql2 ~]# cd /var/lib/mysql/
[root@mysql2 mysql]# ls
ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.sock  test
[root@mysql2 mysql]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.71 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show slave status;
Empty set (0.00 sec)

mysql> change master to master_host='172.25.30.6',master_user='repl',master_password='westos',master_log_file='binlog.000003',master_log_pos=405;
Query OK, 0 rows affected (0.10 sec)    #同步主服务器
.....
参数解释:
    MASTER_HOST : 设置要连接的主服务器的ip地址
    MASTER_USER : 设置要连接的主服务器的用户名
    MASTER_PASSWORD : 设置要连接的主服务器的密码
    MASTER_LOG_FILE : 设置要连接的主服务器的bin日志的日志名称,即查看master服务
MASTER_LOG_POS : 设置要连接的主服务器的bin日志的记录位置,即show master status中的postion,(这里注意,最后一项不需要加引号。否则配置失败)
....
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status\G;     
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.25.30.6
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: binlog.000003
          Read_Master_Log_Pos: 405
               Relay_Log_File: mysqld-relay-bin.000002
                Relay_Log_Pos: 248
        Relay_Master_Log_File: binlog.000003
             Slave_IO_Running: Yes  #IO和SQL必须是yes,说明开启了这两个进程
            Slave_SQL_Running: Yes
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
从库生成两个线程,一个I/O线程,一个SQL线程;

i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;
主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog;

SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.....
1 row in set (0.00 sec)

ERROR: 
No query specified

mysql> quit
Bye
[root@mysql2 mysql]# 




&&GTID的工作过程

先保持数据一致性之后,再主从

[root@mysql1 ~]# ls
mysql-community-client-5.7.17-1.el6.x86_64.rpm
mysql-community-common-5.7.17-1.el6.x86_64.rpm
mysql-community-libs-5.7.17-1.el6.x86_64.rpm
mysql-community-libs-compat-5.7.17-1.el6.x86_64.rpm
mysql-community-server-5.7.17-1.el6.x86_64.rpm
[root@mysql1 ~]# cd /var/lib/mysql/
[root@mysql1 mysql]# ls
binlog.000001  binlog.000003  ibdata1      ib_logfile1  mysql.sock
binlog.000002  binlog.index   ib_logfile0  mysql        test
[root@mysql1 mysql]# rm -fr *
[root@mysql1 mysql]# rpm -qa | grep mysql
mysql-5.1.71-1.el6.x86_64
mysql-server-5.1.71-1.el6.x86_64
mysql-libs-5.1.71-1.el6.x86_64
[root@mysql1 mysql]# yum remove mysql mysql-server
[root@mysql1 ~]# ls
mysql-community-client-5.7.17-1.el6.x86_64.rpm
mysql-community-common-5.7.17-1.el6.x86_64.rpm
mysql-community-libs-5.7.17-1.el6.x86_64.rpm
mysql-community-libs-compat-5.7.17-1.el6.x86_64.rpm
mysql-community-server-5.7.17-1.el6.x86_64.rpm
[root@mysql1 ~]# yum install * -y
[root@mysql1 ~]# vim /etc/my.cnf
.....
server_id=1
log-bin=binlog
gtid_mode=ON        #打开gtid模式
enforce-gtid-consistency=true
binlog-do-db=test
binlog-ignore-db=mysql
.....
[root@mysql1 ~]# /etc/init.d/mysqld start
[root@mysql1 ~]# mysql_secure_installation 
[root@mysql1 ~]# mysql -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.17-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> grant replication slave on *.* to repl@'172.25.30.%' identified by 'Xiamin0099+';    #主授权
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> show master status;      #完成授权之后,Executed_Gtid_Set里面才有参数
+---------------+----------+--------------+------------------+----------------------------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                      |
+---------------+----------+--------------+------------------+----------------------------------------+
| binlog.000006 |      447 | test         | mysql            | 3456e9d3-b157-11e7-a3eb-525400931c42:1 |
+---------------+----------+--------------+------------------+----------------------------------------+
1 row in set (0.00 sec)

mysql> 




##在从上同步,初始化密码
[root@mysql2 ~]# vim /etc/my.cnf
.....
server_id=2
read-only=1
gtid_mode=ON    #大概gtid工作模式
enforce-gtid-consistency=true
.....
[root@mysql2 ~]# mysql -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show slave status;
Empty set (0.00 sec)

mysql> change master to master_host='172.25.30.6',master_user='repl',master_password='Xiamin0099+',MASTER_AUTO_POSITION=1;  #从同步
Query OK, 0 rows affected, 2 warnings (0.05 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.25.30.6
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: binlog.000006
          Read_Master_Log_Pos: 447
               Relay_Log_File: mysql2-relay-bin.000002
                Relay_Log_Pos: 654
        Relay_Master_Log_File: binlog.000006
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
 .....
1 row in set (0.00 sec)

ERROR: 
No query specified

mysql> 
[root@mysql2 ~]#

***主创建数据库&&从可看到同步的数据
主:

[root@mysql1 ~]# mysql -p
Enter password: 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> create database test;
Query OK, 1 row affected (0.11 sec)

mysql> use test
Database changed
mysql> create table usertb(
    -> username varchar(15) not null,
    -> password varchar(15) not null);
Query OK, 0 rows affected (1.16 sec)

mysql> insert into usertb values ('user1','123');
Query OK, 1 row affected (0.19 sec)

mysql> insert into usertb values ('user2','456');
Query OK, 1 row affected (0.31 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.00 sec)

mysql> use test;
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| usertb         |
+----------------+
1 row in set (0.00 sec)

mysql> select * from usertb;
+----------+----------+
| username | password |
+----------+----------+
| user1    | 123      |
| user2    | 456      |
+----------+----------+
2 rows in set (0.00 sec)

mysql> quit
Bye
[root@mysql1 ~]# 

从:
[root@mysql2 ~]# mysql -p
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.00 sec)

mysql> use test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| usertb         |
+----------------+
1 row in set (0.00 sec)

mysql> select * from usertb;        #表格同步成功
+----------+----------+
| username | password |
+----------+----------+
| user1    | 123      |
| user2    | 456      |
+----------+----------+
2 rows in set (0.00 sec)
[root@mysql2 ~]# 








&&Mysql并行复制:

为什么需要并行复制:
  一般主从复制,有三个线程参与,都是单线程:Binlog Dump(主) —–>IO Thread (从) —–> SQL Thread(从)。复制出现延迟一般出在两个地方
1)SQL线程忙不过来(可能需要应用数据量较大,可能和从库本身的一些操作有锁和资源的冲突;主库可以并发写,SQL线程不可以;主要原因)
2)网络抖动导致IO线程复制延迟(次要原因)。
MySQL从5.6开始有了SQL Thread多个的概念,可以并发还原数据,即并行复制技术。
  在MySQL 5.7中,引入了基于组提交的并行复制(Enhanced Multi-threaded Slaves),设置参数slave_parallel_workers>0并且global.slave_parallel_type=‘LOGICAL_CLOCK’,
即可支持一个schema下,slave_parallel_workers个的worker线程并发执行relay log中主库提交的事务。其核心思想:一个组提交的事务都是可以并行回放(配合binary log group commit);
slave机器的relay log中 last_committed相同的事务(sequence_num不同)可以并发执行。
  其中,变量slave-parallel-type可以有两个值:DATABASE 默认值,基于库的并行复制方式;LOGICAL_CLOCK:基于组提交的并行复制方式

从
[root@mysql2 ~]# vim /etc/my.cnf
.....
server_id=2
read-only=1
gtid_mode=ON
enforce-gtid-consistency=true
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON
.....

在主上:
root@mysql1 ~]# mysql -p
.....
mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
Query OK, 0 rows affected (0.13 sec)

mysql> show variables like '%semi%';
+-------------------------------------------+------------+
| Variable_name                             | Value      |
+-------------------------------------------+------------+
| rpl_semi_sync_master_enabled              | OFF        |
| rpl_semi_sync_master_timeout              | 10000      |
| rpl_semi_sync_master_trace_level          | 32         |
| rpl_semi_sync_master_wait_for_slave_count | 1          |
| rpl_semi_sync_master_wait_no_slave        | ON         |
| rpl_semi_sync_master_wait_point           | AFTER_SYNC |
+-------------------------------------------+------------+
6 rows in set (0.08 sec)

mysql> show master status;
+---------------+----------+--------------+------------------+------------------------------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                        |
+---------------+----------+--------------+------------------+------------------------------------------+
| binlog.000005 |     1363 | test         | mysql            | ad92abab-b7df-11e7-acfb-5254003cc83a:1-5 |
+---------------+----------+--------------+------------------+------------------------------------------+
1 row in set (0.01 sec)


mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.01 sec)

mysql> use test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> insert into usertb values ('user3','333');
Query OK, 1 row affected (0.28 sec)

mysql> insert into usertb values ('user4','444');
Query OK, 1 row affected (0.23 sec)

mysql> sselect * from usertb;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sselect * from usertb' at line 1
mysql> select * from usertb;
+----------+----------+
| username | password |
+----------+----------+
| user1    | 123      |
| user2    | 456      |
| user3    | 333      |
| user4    | 444      |
+----------+----------+
4 rows in set (0.00 sec)

mysql> ^DBye
[root@mysql1 ~]# 

从上:

[root@mysql2 ~]# mysql -p
mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
Query OK, 0 rows affected (0.11 sec)

mysql> show variables like '%semi%';
+-------------------------------------------+------------+
| Variable_name                             | Value      |
+-------------------------------------------+------------+
| rpl_semi_sync_master_enabled              | OFF        |
| rpl_semi_sync_master_timeout              | 10000      |
| rpl_semi_sync_master_trace_level          | 32         |
| rpl_semi_sync_master_wait_for_slave_count | 1          |
| rpl_semi_sync_master_wait_no_slave        | ON         |
| rpl_semi_sync_master_wait_point           | AFTER_SYNC |
+-------------------------------------------+------------+
6 rows in set (0.08 sec)

mysql> set global rpl_semi_sync_master_enabled=on;  #-》》打开半同步复制
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%semi%';
+-------------------------------------------+------------+
| Variable_name                             | Value      |
+-------------------------------------------+------------+
| rpl_semi_sync_master_enabled              | ON         |
| rpl_semi_sync_master_timeout              | 10000      |
| rpl_semi_sync_master_trace_level          | 32         |
| rpl_semi_sync_master_wait_for_slave_count | 1          |
| rpl_semi_sync_master_wait_no_slave        | ON         |
| rpl_semi_sync_master_wait_point           | AFTER_SYNC |
+-------------------------------------------+------------+
6 rows in set (0.01 sec)
开启半同步复制之后,如果从机的io关闭,主机提交数据之后十秒左右之后得不到响应就会自动转换为异步复制,然后才能重新提交。
mysql> stop slave io_thread;
Query OK, 0 rows affected (0.18 sec)

mysql> show slave status\G;
.....
   SQL_Delay: 0
.....
mysql> change master to master_delay=100; ->>修改延迟时间。当主机提交数据之后,从机需要100s才可以得到。
Query OK, 0 rows affected (0.20 sec)


&&IO线程

&&半同步复制






官方文档:https://dev.mysql.com/doc/refman/5.7/en/group-replication-configuring-instances.html


作业:数据库高可用和数据库读写分离套件




mysql主从复制和并行复制:
http://blog.youkuaiyun.com/Mryiyi/article/details/73307317
程序化广告行业(23/89):深度剖析广告效果评估指标 大家好,我一直希望能和大家一起在技术领域不断探索、共同进步。在之前的文章中,我们了解了程序化广告中腾讯的业务布局和广告效果评估的基础概念,今天让我们进一步深入剖析广告效果评估的各项指标,这对理解程序化广告的运作机制至关重要 阅读详情

相关推荐

STM32与AD7606的SPI通信优化:提升高精度数据采集效率

本文深入探讨了STM32与AD7606的SPI通信优化策略,旨在提升高精度数据采集系统的效率与稳定性。文章从硬件连接、电源去耦、PCB布局等基础环节入手,详细解析了软件驱动中SPI模式配置、DMA应用及精准时序控制等关键优化技术,并提出了系统级的性能提升方案,帮助开发者解决高速采样下的数据跳动、效率瓶颈等实际问题。

weixin_29192211的博客 393

【MySql】 搭建主从复制

主从复制是指将主库的数据变更同步到从库,从而保证主库和从库数据一致,可用于数据备份、失败迁移、读写分离、降低单库读写压力等场景。对于面向大企业的B端产品而言,主从复制技术尤为重要。

精益求精 2036

【win11 cuda12.0安装tensorflow-gpu】

win11 cuda 12.0 安装 tensorflow-gpu

weixin_36299320的博客 3010

MySql主从复制原理

1、什么是主从复制?概念 主从复制是用来建立一个和 主数据库完全一样的数据库环境称为从数据库;主数据库一般是准实时的业务数据库。2、主从复制作用我们来思考如果在企业网站中,后端MYSQL数据库只有一台时候,会有以下问题:1、单点故障服务不可用2、无法处理大量的并发数据请求3、数据丢失所以通过主从复制后,它的优点就很明显1、如果主节点出现故障,那么我们就直接将服务切到从节点,来保证服务立马可用。2、如果并发请求特别大的时候,我们可用进行读写分离操作,让主库负责写,从库负责读。

qq_37436172的博客 3638

CSS字体样式全攻略

🧱 让文字有空间感,适合标题或LOGO。🖋️适合插画、创意工作者的个人页面。🔥 适合标题、品牌名,视觉冲击力强。🧘‍♀️适合极简设计、文化类网站。✨适合科技类网站、博客、作品集。🚀适合游戏、AI、科技类项目。🐰 适合儿童类网站或节日氛围。📖适合时尚、生活方式类内容。🌫️ 适合神秘、梦幻主题。🌃 夜店风、科技感十足。具体效果是文字会上下跳动。

dreams_dream的博客 1806

Blender SMPL-X 插件安装

Blender XMPL-X 插件安装

heleneveryday的专栏 5358

mysql主从复制

本文介绍了MySQL主从复制的配置方法,主要包括主从复制的功能优势(数据备份和读写分离)、docker-compose部署方案、主从服务器的配置

demon7552003的小本本 1185

jason-2卫星介绍及其数据下载

两台仪器发射脉冲宽度均为105.6μs,带宽320MHz(C频段)和320/100MHz(Ku频段),脉冲重复频率1800Hz(Ku频段)和300Hz(C频段),功率78W,数据传输速率22.5kbit/s。共发射了3颗卫星(Jason - 1/2/3),星上有效载荷均主要为雷达高度计和微波辐射计。Jason - 1卫星主要有效载荷为波塞冬 - 2和“贾森微波辐射计”,Jason - 2卫星进行了改进,主要携带了波塞冬 - 3和先进微波辐射计,此外,Jason - 2卫星还携带了“多里斯”系统。

beautyaaaa的博客 1606

MySQL的主从复制原理

一、主从复制概念 二、读写分离的概念 三、主库和从库 1. 主库 2. 从库 四、主从复制的流程 五、主从复制效果展示

qq_41721746的博客 2654

Yolov8损失函数改进:MPDIoU新型边界框相似度度量,效果秒杀GIoU 、 DIoU 、CIoU 、 EIoU等 | ELSEVIER 2023

ELSEVIER 2023 MPDIoU新型边界框相似度度量助力yolov8,适用提升小目标、遮挡物性能提升

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 7776

windows在使用ping 127.0.0.1时出现一般故障的解决方案

本文主要介绍了windows在使用ping 127.0.0.1时出现一般故障的解决方案,希望能对使用windows的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 7万+

实现 MySQL 主从复制配置

主从复制主要操作是让一台服务器 Master 的数据和其他服务器 Slave 保持同步。一台 Master 数据可以同步到多台备库 Slave 上,同时一台 Slave 本身也可以配置另外一台服务器的 Master,Master 库和 Slave 库可以有多种不同的组合。在企业实际的开发中,后端 MySQL 数据库只有一台的时候,会有以下问题:主从复制流程图: 执行流程说明:192.168.2.125 和 192.168.2.126 安装 MySQL 的步骤都是一样的,以安装在 192.168.2.

养歌的博客 2799

基于Matlab的磁力计校准(附源码)

磁力计沿传感器的 X、Y 和 Z 轴检测磁场强度。精确的磁场测量对于传感器融合以及确定航向和方向至关重要。为了用于航向和方向计算,需要校准典型的低成本MEMS磁力计,以补偿环境噪声和制造缺陷。一、理想磁力计理想的三轴磁力计沿正交 X、Y 和 Z 轴测量磁场强度。在没有任何磁干扰的情况下,磁力计读数测量地球磁场。如果在传感器通过所有可能的方向旋转时进行磁力计测量,则测量值应位于球体上。球体的半径是磁场强度。要生成磁场样本,请使用对象。出于这些目的,可以安全地假设每个方向的角速度和加速度为零。

珞瑜的博客 4520

mysql主从复制种类_MYSQL主从复制

relay 传递Slave 复数、奴隶replication 复制privileges 特权主从复制,只能有一个主节点,可以用n多个从节点一、配置文件在执行这个主从复制之前,首先必须打开 Master 端的Binary Log(MySQL-bin.xxxxxx)功能,否则无法实现。从服务器也需要开启二进制日志和 relay 日志功能 .这样可以从主服务器读取 binlog, 并产生 relaylo...

weixin_33122947的博客 282

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

mysql8 主从复制

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录mysql主从复制常用命令创建用户相关权限相关环境介绍原理实现一、创建数据库一、主库操作从库配置常见错误处理可能用到的命令总结 mysql主从复制常用命令 创建用户相关 创建新用户 host: '%'=所有人 'localhost'=本服务器才能访问 '指定ip'=指定ip才能访问 格式:create user '新用户的名字'@'host地址' identified by '新用户的登录密码'; #创建用户并

特别剑的博客 2568

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MySQL的主从复制

主从复制是指将主数据库的DDL 和DML操作通过二进制日志传到从库服务器中,然后再从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。

weixin_49750432的博客 1366

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

什么是mysql主从复制_mysql主从复制

什么是mysql的主从复制MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。主从复制优点数据热备:主库故障后,可切换到从数据库继续工作,一定程度上实现高可用。读写分离:让主库负责写,...

weixin_32558567的博客 551

mysql主从复制 主键 id_MySQL主从复制详解

前言:在MySQL中,主从架构应该是最基础、最常用的一种架构了。后续的读写分离、多活高可用架构等大多都依赖于主从复制。主从复制也是我们学习MySQL过程中必不可少的一部分,关于主从复制的文章有很多,笔者也来凑凑热闹,写写这方面的内容吧,同时分享下自己的经验和方法。1.主从复制简介及原理主从复制(也称 AB 复制)是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数...

weixin_31959079的博客 734

MySQL——主从复制、ssl主从复制、gtid主从复制

一、主从复制 二、实现基于 ssl 安全连接的主从复制 master 192.168.1.133 slave 192.168.1.134 1、在主 mysql 创建 SSL/RSA 文件 [root@master ~]# cd /usr/local/mysql/bin/ [root@master bin]# mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

lin小将的博客 862
上一篇: Haproxy
下一篇: 数据库高可用
XMJDCH
博客等级 码龄10年 30粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值