首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL之间的关系

之间的关系 1 foreign key 2 则1的多条记录对应2的一条记录,即多对一 利用foreign key的原理我们可以制作两张的多对多,一对一关系 多对多: 1的多条记录可以对应...1、先确定关系 2、找到多的一方,把关联字段写在多的一方 一对多  多对一或者一对多(左边的多条记录对应右边的唯一一条记录)  需要注意的: 1.先建被关联的,保证被关联的字段必须唯一。...用来存book和author两张关系) 要把book_id和author_id设置成联合唯一 联合唯一:unique(book_id,author_id)  联合主键:alter table t1...=======书和作者,另外在建一张来存书和作者的关系 #被关联的 create table book1( id int primary key auto_increment, name varchar...-- 建立user和usergroup的关系 create table user2usergroup( id int not NULL UNIQUE auto_increment, user_id

3.5K10

MYSQL回顾(关系相关)

数据库有三种关系: 多对一 多对多 一对一 多对一 外键在“多”侧 比如有两个,分别是书籍和出版社。书籍和出版社是典型的多对一关系,即一本书只能由一个出版社出版,一个出版社可以出版多本书。...需要第三张来建立他们的外键关系,如下: ?...,删除author2book中的记录后,author和book的记录并没有删除 一对一 两张:学生和客户 对于一些教育培训机构而言,客户即使潜在的学生,是一对一的关系 一对一:一个学生是一个客户...,一个客户有可能变成一个学生,即一对一的关系 关联方式:foreign key+unique 对于多对一的关系而言:关联中的外键无需指定为unique,因为存在多个记录的外键指向被关联的同一个记录...但对于一对一的关系而言:为了保证两张表记录的一一对应,需要把关联的外键约束为unique ?

5.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mysql数据库设置主从同步

    主从复制的原理 分为同步复制和异步复制,实际复制架构中大部分为异步复制。...环境描述 OS:Centos6 主服务器master:192.168.11.120 从服务器slave:192.168.11.139 mysql主从配置 mysql主服务器配置(master) master...GRANT OPTION; #更新数据库权限mysql>flush privileges; 锁定所有(防止数据库状态值变化,锁定后,这时候只能读,不能写,写请求会在解锁后执行) mysql>  FLUSH...mysql数据库同步验证 主从数据库设置工作已经完成,可以在master新建数据库和,插入和修改数据,查看slave是否获得同步,测试一下是否成功。...一般不成功有以下几个原因: 1.server-id 设置了一样,默认都是1,要设置不一样 2.主数据库防火墙没设置允许远程访问3306端口 3.没锁再记录MASTER_LOG_FILE、MASTER_LOG_POS

    11K00

    MySQL 不停机不锁主从搭建

    MySQL主从搭建分几种场景 无业务数据,初始化搭建 有业务数据,临时扩展 初始化的搭建很简单,不涉及数据业务,所以锁、停机等都不影响,但是更多时候是业务到一定阶段,才会涉及到横向扩展,需要做主从,...读写分离等来提升服务性能 这个时候,数据业务不能中断,又需要快速进行扩展提升性能,只能在不停机、不停服务的情况下扩展,就需要用到下面介绍的这种方法来做数据库主从 当然还是有前提条件,如果你原本MySQL...连binlog及server_id都这种基础配置都没做,那也谈不上不停机配置主从 原理 不停机实现主从搭建的关键点就是以下两个参数: --single-transaction --master-data...TRANSACTION 语句,开启单一事务,此时加锁,仅仅是为了获取准确的master-data中的binlogfile和pos信息,在开启事务后,锁已经释放了,所以对业务影响很小 通过以上两个参数,可以在不长时间锁的情况下获取准确的...to master_host='ip',master_user='slave',master_port=port,master_password='password',master_log_file='mysql-bin.file

    2.8K10

    用户、角色、权限关系(mysql)

    ` varchar(20) NOT NULL, `description` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) 4、用户角色关系...1` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) 5、角色权限关系...用户有着“读者”,“作者”和“管理员”角色,角色有不同权限,如小说收藏,小说发布和广告发布 假定,用户和角色是一对一关系,即一个用户只有一个角色;角色和用户的关系是一对多关系,一个角色对应着多个用户。...(方便后面对应英文单词直观反应着关系,如看到reader就是表示读者角色) 角色和权限的关系是多对多关系。即一个角色有着多种权限,同样,一个权限可以分给不同角色。...,角色和用户是一对一关系

    5.5K20

    MySQL时区设置导致主从复制报错

    问题背景 在云服务器上构建一个云数据库RDS数据库的从库,构建的方式也相对比较简单,和搭建主从的复制没啥区别,这里不做具体介绍; 构建完成后,业务上线之后,构建的从库出现主从复制报错的问题,具体的报错信息如下所示...: 备注:由于云数据库RDS由于没有开启GTID,所以只能基于偏移量进行主从复制、 (有些强一致性金融级云数据库RDS默认GTID是关闭的) mysql>show slave status\G ****...Master_TLS_Version: 1 row in set (0.00 sec) 查看performance_schema.replication_applier_status_by_worker查看具体的报错信息如下...接下来,我们查看一下,目前从库设置的时区 mysql>show variables like '%time_zone%'; +------------------+--------+ | Variable_name...mysql中,然后就支持设置支持’Asia/Shanghai’这种时区格式 mysql>set session time_zone='Asia/Shanghai'; Query OK, 0 rows affected

    1.5K20

    MySQL生产环境主从关系数据不同步

    故障现象:两个数据库数据大小不一致,主从有问题,我重新建立主从关系后从的IO和SQL线程状态都是yes但是不同步数据。...-------------------------------------+ 1 row in set (0.00 sec) #如果没有反馈server_id,slave_UUID等信息也可以判定没有主从关系...Replicate_Ignore_DB: 以上是我重新建立的主从关系,从状态上可以看出没有什么问题,并且我在从上重新导入了一份主库的数据库包括数据,使主从数据差异缩小,我尝试在主上指定的...< 包名字 搭建环境我就不说了 当我尝试重新建立主从关系然后进行在主建立还是不复制状态如生产环境一样没问题都是yes 令我苦恼 于是我就在我的测试环境用自己的pull的镜像做了一下主从都用新的...master日志里面和你的pos位置,不存在现在主库已有的当时创建数据库和的sql语句,必须你在从库上也要有相同的库和才能进行同步成功 划重点:一定要注意主从重新搭建之后。

    66620

    MySQL生产环境主从关系数据不同步

    故障现象:两个数据库数据大小不一致,主从有问题,我重新建立主从关系后从的IO和SQL线程状态都是yes但是不同步数据。...-------------------------------------+ 1 row in set (0.00 sec) #如果没有反馈server_id,slave_UUID等信息也可以判定没有主从关系...Replicate_Ignore_DB: 以上是我重新建立的主从关系,从状态上可以看出没有什么问题,并且我在从上重新导入了一份主库的数据库包括数据,使主从数据差异缩小,我尝试在主上指定的...< 包名字 搭建环境我就不说了 当我尝试重新建立主从关系然后进行在主建立还是不复制状态如生产环境一样没问题都是yes 令我苦恼 于是我就在我的测试环境用自己的pull的镜像做了一下主从都用新的...master日志里面和你的pos位置,不存在现在主库已有的当时创建数据库和的sql语句,必须你在从库上也要有相同的库和才能进行同步成功 划重点:一定要注意主从重新搭建之后。

    1K10

    Mysql主从

    前提: mysql主从的搭建前提有: 两台虚拟机 两台虚拟机上都装有mysql,并且版本一样,两边的mysql数据库文件一致,mysql的安装方式我在前面博客已经介绍过了。...环境: Host Role IP mysql-1 Master 192.168.30.106 mysql-2 Slave 192.168.30.107 搭建 在主从服务器上都创建一个用户 $ mysql..., mysql如何减少主从复制延迟: 如果延迟比较大,就先确认以下几个因素: 从库硬件比主库差,导致复制延迟 主从复制单线程,如果主库写并发太大,来不及传送到从库 就会导致延迟。...–master-connect-retry=seconds 单位为秒 默认设置为 60秒 参数含义:当重新建立主从连接时,如果连接建立失败,间隔多久后重试 通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟...= 1 之类的设置,而slave则不需要这么高的数据安全,完全可以讲sync_binlog设置为0或者关闭binlog innodb_flushlog也可以设置为0来提高sql的执行效率。

    2.7K10

    django模型中有外键关系删除相关设置

    0904自我总结 django模型中有外键关系删除相关设置 一.一对一 例如有Author、AuthorDetail两 author = models.OneToOneField(to='Author...断开关联,on_delete规定逻辑关联删除动作,models.CASCADE级联删除 二.一对多 例如Book、Publish两 publish = models.ForeignKey(to='Publish..., models.CASCAD为级联关系,'SET_NULL'置空,SET_DEFAULT设为默认值 两者区别 models.SET关联内容删了,关联的相关内容不会删除 models.CASCAD关联内容删了...,关联的相关内容会删除 db_constraint关系断开后,但是不影响联查询 四.多对多关系 例如Book、Author两 authors = models.ManyToManyField(to=...:出版社删除或书删除彼此不影响,但关系一定级联删除 2)正向找 外键字段,反向找 外键字段related_name 3)db_constraint断开关联,on_delete不存在(不设置,本质在第三张设置

    3K20

    linux mysql 修改名_Linux下mysql怎么设置名?「建议收藏」

    Linux下mysql可以通过“ALTER TABLE 旧表名 RENAME [TO] 新名;”语句来修改名;还可以通过配置my.cnf文件,修改“lower_case_table_names”选项的值为...“1”来设置名不区分大小写。...Linux下mysql设置名 在 MySQL 中,可以使用 ALTER TABLE 语句来实现名的修改。...在 MySQL 中可以使用 ALTER TABLE 语句来改变原有的结构,例如增加或删减列、更改原有列类型、重新命名列或等。...用户可以使用 DESC 命令查看修改后的结构, Linux下Mysql设置名不区分大小写 Linux下的MySQL默认是区分名大小写的 通过如下设置,可以让MySQL不区分名大小写: 1、用root

    8.9K10

    之间关系

    可以在数据库图表中的之间创建关系,以显示一个中的列与另一个中的列是如何相链接的。 在一个关系型数据库中,利用关系可以避免多余的数据。...一、之间关系概述 1.1、什么是之间关系关系型数据库中,为了避免数据冗余,我们的一些之间肯定是有一定的关系。 如:学生与老师表,部门与员工,用户与权限等。...在设计的时候,就应该体现出来之间的这种关系。 1.2、之间关系分类 1.2.1、一对多关系 一对多关系是最普通的一种关系。...要创建这种关系,需要定义第三个,称为结合,它的主键由 A 和 B 的外部键组成。 注意: 多对多的创建原则: 二个与中间创建1对多的关系。...6 | f3swe | +----+---------+----------+ 3 行于数据集 (0.01 秒) 4、多对多应用 创建多对多:要把book_id和author_id设置成联合唯一

    1.4K30

    MySQL主从搭建

    前言 公司规定,生产环境中一旦与数据(缓存也不例外)扯上关系的一律不由k8s统一管理 因此,别想一键式部署了,只能老老实实单独部署 再此,就记录一下搭建过程,分享给小伙伴们,避免浪费时间 废话不多说,...= 1001 2、进入Mysql,分别为二台master创建各种的用户供对方使用 温馨提示: 本案例为双主从,也就是master同步到node,node同步到master。...master_log_pos=154; 6、分别利用命令启动slave #启动 start slave; #关闭 stop slave; 7、测试结果,在master上创建数据库,node是否能同步,然后再在node上创建写数据...SQL_SLAVE_SKIP_COUNTER=1; START SLAVE; show slave status; 3、Slave_IO_Running: No #解决办法 stop slave; #根据master重新设置...status; 4、数据库主从日志很大 设置只保留30天的binlog (临时,重启mysql这个参数会失败) set global expire_logs_days = 30; (永久,my.cnf

    2.4K10

    mysql主从复制周期_Mysql主从复制

    Mysql主从复制 背景: Mysql可以实现主从复制,在学习了Mysql主从复制后,将一些如何主从复制过程记录下来,供以后复习使用。...准备: 在做Mysql主从复制前需要做一些准备工作: 1、同步时间 做主从的服务器的时间需要同步,不然会出问题。...主从复制: 步骤1、安装Mysql服务 yum install mysql-server mysql 如果是Centos7版本:yum install mariadb-server mariadb (7...的所有者和所属组为mysql;命令:chown mysql.mysql /app/bin_log 2)启动服务并添加主从复制需要的帐号 CentOS6:service mysqld start CentOS7...步骤4、测试 1)在主数据库服务器创建一个数据库 2)在从mysql从服务器查看是否生成创建的数据库 到此mysql主从复制已完成。

    4.2K10

    MySQL 主从同步

    为什么需要主从复制 分别读写数据库的时候,把读和写分开,能够有效的提高数据库的负载 保证数据的高可用,一旦有一台数据库服务器宕机,不会对数据产生太大的影响 可以横向扩展,实现数据库的水平扩容 主从同步的原理...主从复制的根本原理是从 master 服务器上面的数据,通过一定的方式同步到 slave 服务器上面。...上面的 3 个过程是 MySQL 主从同步的大概流程,其中 binlog 和 relay log 的读写都是顺序 IO,性能很高。...搭建主从同步 此处用 Linux 服务器进行演示: 安装 MySQL 修改 my.cnf 如果找不到 my.cnf文件可以直接新建一个文件,MySQL 会自动读取。...sudo vim /etc/mysql/my.cnf 打开后,加入如下内容: [mysqld]# 这行一定要有 server-id = 1 #主机可以设置为1,从机可设置为IP最后一段(保证唯一性)

    5K30
    领券