# 实现 MySQL MGR 多主架构不支持外键的新手指南
在分布式数据库环境中,多主架构(MySQL Group Replication, 简称 MGR)逐渐成为一种流行的解决方案。然而,这种架构并不支持外键,这对某些数据库设计会带来不便。作为一名新手开发者,了解如何实现 MGR 并规避外键的影响至关重要。接下来,我将介绍整个流程,并提供每一步的详细代码与注释。
## 整体流程
流程如下表            
                
         
            
            
            
            目录1,MySQL 主从架构1,MySQL 主从复制原理2,一主多从架构3,双主双从架构2,集群部署1,配置多实例2,配置一主多从1,修改配置文件2,配置主从关系3,配置双主双从1,修改配置文件2,配置主从关系 1,MySQL 主从架构1,MySQL 主从复制原理2,一主多从架构说明:主库:负责写操作,包括 Insert、Update、Delete如果主库挂掉,集群将不再支持写操作,但不影响读操            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-29 21:00:29
                            
                                84阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            show variables like"sql_mode";set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';set session sql_mode='STRICT_            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-02 00:09:51
                            
                                109阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            mysql无法外网连接 Host * is not allowed to connect to this MySQL server在本机登入mysql后,更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为’%’。代码如下mysql>
mysql>use mysql;
mysql>select host from user where use            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-12 17:19:53
                            
                                75阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            mysql外键的理解应用 首先,我们先探讨一下外键有啥用。我的个人理解是根据项目的经验来的。 这里有两个表,如果你想让其中一个表的一行数据的update或者delete会影响到另外某个表的某一行,可以使其同步的update或者delete(也有可能产生其他影响),用外键级联删除可以实现。建立外键的过程中还会自动的建立索引,这样做有啥好处呢? 往下看会找到答案。USE hxgpstest;
S            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-28 21:19:03
                            
                                77阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、概念在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加mysql入口,增加高可用。不过多主需要考虑自增长ID问题,这个需要特别设置配置文件,比如双主,可以使用奇偶,总之,主之间设置自增长ID相互不冲突就能完美解决自增长ID冲突问题。单点故障解决方案:主主架构            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-01 09:34:31
                            
                                257阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录MGR单主(Single-Primary)模式部署1、创建复制账号2、修改配置参数3、主节点配置4、在主节点启动组复制并查看日志。5、在主节点通过视图查看现在的集群状态6、在主节点关闭 group_replication_bootstrap_group7、配置从节点8、在两个节点启动组复制9、如何找出 Primary 成员10、常见报错11、集群故障 MGR单主(Single-Prima            
                
         
            
            
            
            本篇我们学习如何在 Python 中定义常量。有时候,我们需要在变量中存储数据,同时又希望这些变量的值在程序运行过程中不要发生改变。如果想要在其他编程语言中实现这个功能,我们可以使用常量(constant)。常量和变量类似,但是它们的值在程序执行过程中不会改变。不过,Python 不支持常量。为了解决这个问题,我们可以使用全部大写的变量名表示某个变量需要当作一个常量。例如:FILE_SIZE_LI            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-01-02 18:00:00
                            
                                154阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MySQL max_allowed_packet设置及问题场景:当日志中出现了诸如:“Package for query is too large (xxxxxxxx > 4194304). You can change this value on the server by setting the max_allowed_package variable”或者本地执行SQL文件出现了“Go            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-28 11:07:50
                            
                                193阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            有时我们发现我们的Mysql数据库使用事务时无效,这很有可能是数据库使用的存储引擎(storage engine)不支持事务处理。比如创建数据库时的默认存储引擎“MyISAM”,它是性能优先的存储引擎,不支持事务处理。这时我们可以按下面步骤处理,解决MySQL不支持事务的问题。一、查看数据库的存储引擎:1、查看MySQL系统当前使用的存储引擎:使用SQL“show variables like '            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-30 08:04:47
                            
                                156阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            mysql 新版本出现group by 语句不兼容问题 1、 具体出错提示: [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functio            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-07 10:54:00
                            
                                18阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            事物与锁  什么叫不支持事物: 所以MyISAM不支持事务就是这个意思,需要程序进行撤销操作。Innodb 是支持事务的。  InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。   当执行事务时,相当于执行了锁,来保持数据的一致性,但是锁分多种,有行锁,表锁。行锁就是只            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-05 06:31:55
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            基本资料:mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.16 |
+-----------+
mysql> select * from t1;
+----+------+
| id | name |
+----+------+
| 1 | aa |
| 2 | bb |
| 3 | cc            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-24 18:51:22
                            
                                99阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            mysql> select * from users group by 2,3;
ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'security.users.id' which
is not functionally d            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-05 23:32:30
                            
                                8阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在application.properties中配置mybatis_plus碰见报了这个错误Cannot resolve class or package 'jdbc'错误产生的原因其实这个问题是由于MySQL 这个jar 包依赖类型默认是runtime ,也就是说只有运行时生效,所以虽然这里报错,但是不影响你代码运行。但红色总有点影响美观,现提供三个解决方法1.既然由于依赖的范围引起的,那么我们            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-26 20:58:54
                            
                                255阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            二进制包安装mysql[root@localhost ~]# cd /usr/src
[root@localhost src]# ls
debug  kernels  mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz[root@localhost src]# tar -xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-27 22:48:17
                            
                                112阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、面向对象和面向过程的区别:a.面向过程:  1)根据业务逻辑从上到下写代码  2)开发思路是将数据和函数按照执行的逻辑顺序组织在一起  3)分开考虑数据与函数  定义性文字:  面向对象编程(Object Oriented Programming-OOP) 是一种解决软件复用的设计和编程方法。这种方法把软件系统中相近相似的操作逻辑和操作应用数据、状态,以类的型式描述出来, 以对象实例            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-18 23:54:19
                            
                                45阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、概念  在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加mysql入口,增加高可用。不过多主需要考虑自增长ID问题,这个需要特别设置配置文件,比如双主,可以使用奇偶,总之,主之间设置自增长ID相互不冲突就能完美解决自增长ID冲突问题。单点故障解决方案:	             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-30 17:53:28
                            
                                367阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何实现“python不支持界面外启动”
## 概述
在许多情况下,我们需要通过点击图形界面(GUI)上的按钮或菜单来启动Python程序。然而,有时我们希望在没有图形界面的情况下启动Python程序,比如在服务器上运行脚本或在命令行中运行程序。这篇文章将向你展示如何实现Python的界面外启动。
## 流程图
```mermaid
journey
    title Python界面外启            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-02-01 05:19:42
                            
                                54阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # MySQL中不支持WITH AS的解决方案
在很多时候,我们在使用SQL时会遇到不同的数据库系统有各自的语法特性。比如,MySQL并不支持`WITH AS`语法(也称公共表表达式,CTE)。不过,不用担心,虽然MySQL不直接支持它,但我们可以通过另外的方法来实现相同的功能。本文将指导你如何在MySQL中模拟实现`WITH AS`的功能。
## 流程概述
以下是实现MySQL不支持`WI