-
MySQL--数据完全性
所属栏目:[MySql教程] 日期:2022-04-09 热度:188
- 数据类型 原则 尽量使用取值范围小的,节省存储空间 整数:int, bit 小数:decimal 表示浮点数 主键:primary key 物理上存储的顺序 非空:not null 唯一:unique 字段不允许重复 默认:default 不填写使用默认值,填写以填写为准 外键:foreign key 外[详细]
-
MySQL两阶段提交过程原理阐述
所属栏目:[MySql教程] 日期:2022-04-09 热度:77
MySQL使用两阶段提交主要解决 binlog 和 InnoDB redo log 的数据一致性的问题. 两阶段提交原理描述: 阶段1:InnoDB redo log 写盘,InnoDB 事务进入 prepare 状态 阶段2:如果前面prepare成功,binlog 写盘,那么再继续将事务日志持久化到binlog,如果持久[详细]
-
企业情况下MySQL5.5调优
所属栏目:[MySql教程] 日期:2022-04-09 热度:84
参照 腾讯云 和ucloud my.cnf 以及网上找的资料 整理出来的 my.cnf , 以后修改任何参数都会继续更新 也是在测试阶段 物理机 : ubuntu14.04 配置 8core 32G mysql : 5.5.62 调优配置 [client] port = 3306 socket = /var/run/mysqld/mysqld.sock default-[详细]
-
MySQL Batched Key Access BKA 原理和设定使用办法举例
所属栏目:[MySql教程] 日期:2022-04-09 热度:116
MySQL 5.6版本开始增加了提高表join性能的算法:Batched Key Access (BKA)的新特性。 BKA算法原理:将外层循环的行/结果集存入join buffer,内存循环的每一行数据与整个buffer中的记录做比较, 可以减少内层循环的扫描次数. 对于多表join语句,当MySQL使用[详细]
-
mysql select之后的子查询
所属栏目:[MySql教程] 日期:2022-04-09 热度:91
select后面的子查询使用,只能是标量查询 #案例:查询每个部门的员工个数 SELECT d.*,( SELECT COUNT(*) FROM employees WHERE employees.`department_id`=d.department_id ) FROM departments d; #案例:查询员工号=102的部门名 SELECT department_name FR[详细]
-
mysql 半等步复制
所属栏目:[MySql教程] 日期:2022-04-09 热度:195
mysql 半同步复制: 一.半同步复制 半同步复制特点 1. 与传统的异步复制相比,半同步复制在多个Slave节点中会选取一个节点进行半同步复制。也就是说,当Master提交一个事务的时候,在这个半同步复制的Slave端返回一个同步完成的Ack包之后,服务器才会向用[详细]
-
mysql系列的 mmm高可用集群
所属栏目:[MySql教程] 日期:2022-04-09 热度:162
mmm高可用集群介绍: 高可用集群介绍:主备模式,当主不能提供服务的时候备用主机接替它提供服务。 这个过程对于客户端是透明的。 一、前期准备工作 1、准备五台linux服务器:主(192.168.4.122),主备(192.168.4.123) 从(192.168.4.126),从(192.16[详细]
-
MySQL Order By排序结果
所属栏目:[MySql教程] 日期:2022-04-09 热度:58
我们已经看到使用SQL SELECT命令从MySQL表中获取数据。当选择数据行,MySQL服务器可以自由地返回它们的顺序,除非有指示它按照怎样的结果进行排序。但是排序结果可以通过增加一个ORDER BY子句设定列名称或要排序的列。 语法 这是使用ORDER BY子句从MySQL表[详细]
-
MySQL Join联接
所属栏目:[MySql教程] 日期:2022-04-09 热度:198
到目前为止,我们只是从一个表读取数据。这是相对简单的,但在大多数现实中的MySQL使用,需要从多个表中,在单个查询获得数据。 可以在单个SQL查询中使用多个表。连接MySQL中的行在两个或多个表到一个表。 可以使用Join在SELECT,UPDATE和DELETE语句加入My[详细]
-
MySQL Like子句
所属栏目:[MySql教程] 日期:2022-04-09 热度:74
我们已经看到使用SQL SELECT命令从MySQL表中获取数据。也可以使用WHERE子句来选择所需的记录条件子句。 WHERE等于子句号(=)用来精确匹配工作,如类似 tutorial_author=yiibai。 但也有可能,我们要求过滤掉所有的结果,tutorial_author应包含的名称:jay。[详细]
-
MySQL Delete查询
所属栏目:[MySql教程] 日期:2022-04-09 热度:172
如果想从任何MySQL表中删除纪录,那么可以使用SQL命令:DELETE FROM. 可以使用这个命令在MySQL提示符,以及PHP等脚本的语言。 语法 这里是DELETE命令从一个MySQL表中删除数据的通用的SQL语法: DELETE FROM table_name [WHERE Clause] 如果WHERE子句没有指[详细]
-
MySQL Update查询
所属栏目:[MySql教程] 日期:2022-04-09 热度:107
可能会有一个需要,要在一个MySQL表中的现有数据进行修改。可以通过使用SQL UPDATE命令来执行。可以修改任何MySQL表中任何字段的值。 语法 这里是UPDATE命令修改数据到MySQL表的通用SQL语法: UPDATE table_name SET field1=new-value1, field2=new-value2[详细]
-
mysql的root用户无法给普通用户授权问题解决
所属栏目:[MySql教程] 日期:2022-04-08 热度:156
先看错误现象: 很奇怪,root用户应该不可能无法授权普通用户。看提示像是说密码错误。但是实际上密码没有问题。 决定去看看mysql.user表中root@localhost这个用户的权限是怎么样的。在mysql.user表中记录了与全局相关的权限信息。这个全局权限不是指拥有[详细]
-
相关MySQL InnoDB表的二级索引是否加入主键的总结
所属栏目:[MySql教程] 日期:2022-04-08 热度:94
相关MySQL InnoDB表的二级索引是否加入主键的总结: 1.对于MySQL InnoDB表的二级索引是否加入主键,官方也有明确的说明,建议线上MySQL的二级索引创建时强制加入主键所有的列,可以做到所有的MySQL 版本统一。 2.MySQL 5.6.9之前,InnoDB引擎层是会对二级[详细]
-
Inception部署测验
所属栏目:[MySql教程] 日期:2022-04-08 热度:62
如果你想学习inception 如果你想学习flask~ 那么此篇文章适合你~ 1、下载 2、安装 yum -y install cmake libncurses5-dev libssl-dev g++ bison openssl-devel.x86_64 unzip inception-master.zip cd inception-master sh -x inception_build.sh debug cd[详细]
-
MySQL 5.7.12新增MySQL Shell命令行性能
所属栏目:[MySql教程] 日期:2022-04-08 热度:106
在最新发布的MySQL 5.7.12中有许多令人兴奋的新功能,对于MySQL开发者来说,最令人兴奋的莫不是新增的MySQL Shell了,其下载地址: 有了MySQL Shell,我们可以将MySQL作为一个文档数据库来使用,也可以通过该工具调用Java、Python。 我们可以用mysqlsh --h[详细]
-
MySQL 5.5编译安装cmake参数解说
所属栏目:[MySql教程] 日期:2022-04-08 热度:78
-DCMAKE_INSTALL_PREFIX=dir_name 安装的主目录 -DDEFAULT_CHARSET 字符集,默认字符集是latin1 -DDEFAULT_COLLATION=collation_name 服务校对,默认的是latin1_swedish_ci,可以通过SHOW COLLATION语句查看哪个校对匹配的字符集 -DENABLED_LOCAL_INFILE[详细]
-
MySQL的收费标准
所属栏目:[MySql教程] 日期:2022-04-08 热度:64
从与好多TX的沟通中来看,还是有好些人搞不清MySQL的收费政策的。我这里简单介绍下。 首先MySQL分企业版和社区版(community server) MySQL AB公司只对企业版提供技术支持,对社区版是不提供支持的。 社区版是免费的。 企业版MySQL有两种授权方式,一是GPL,[详细]
-
MySQL 5.7 新特性 共享临时表空间及临时表更进
所属栏目:[MySql教程] 日期:2022-04-08 热度:191
在MySQL 5.6引用了独立undo tablespace之后,MySQL 5.7在temporary tablespace上做了改进。 已经实现将temporary tablespace从ibdata(系统表空间文件)中分离。 并且可以重启重置大小,避免出现像ibdata难以释放的问题。 但下面所有的讨论只针对InnoDB,[详细]
-
指定一个ID找到上下的区域
所属栏目:[MySql教程] 日期:2022-04-08 热度:67
倒是不复杂 需求: 实现思路: 给定一个ID,比如272944 如果表中的ID大于这个值,则自定义变量自增加一, 如果表中的ID小于这个值,则用这个值减去表中ID, 如果表中的ID等于这个值,则为0 SELECT a.ZpID, WHEN a.zpid - 272944 0 THEN @a:=@a + 1 WHEN a.zpid - 2[详细]
-
安装MySQL 5.6.10包冲突难题
所属栏目:[MySql教程] 日期:2022-04-08 热度:165
Liunx操作系统默认会安装 mysql-libs-5.1.73-5.el6_6.x86_64等lib文件,这样就会与MySQL5.6.10的安装文件冲突,第一次安装情况如下(conflicts with是冲突的意思): [root@master ~]# rpm -ivh MySQL-server-advanced-5.6.25-1.rhel5.x86_64.rpm Preparing.[详细]
-
Mysql锁的行级锁和表级意向锁
所属栏目:[MySql教程] 日期:2022-04-08 热度:133
Innodb存储引擎实现了两种行级锁: 关于行级锁比较容易理解。下面介绍一下表级意向锁。 Innodb存储引擎支持多粒度的锁定,换句话说,允许事务在表级和行级上同时持有锁。意向锁是一种表级锁,它是由存储引擎自己维护的,不需要用户手动命令干预。如果事务[详细]
-
mysql 8.0.17 分区特性测验
所属栏目:[MySql教程] 日期:2022-04-08 热度:140
mysql 8.0.17 分区特性测试: 一、下面所有的测试基于mysql 8.0.17版本。 elcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 34 Server version: 8.0.17 Source distribution Copyright (c) 2000, 2019, Oracle and/or[详细]
-
从本地MySQL迁移到云数据库,为啥是Amazon Aurora?
所属栏目:[MySql教程] 日期:2022-04-08 热度:79
近两年,随着云环境的成熟,很多企业的业务都在向云端迁移。于是,云数据库成为最时髦词汇之一,被AWS、微软、阿里、华为等大厂推崇。那么,对于用户来说,他们如何看待云数据库的发展现状,到底哪些因素才是他们选型的关键点?老王的经历,或许能从一定程[详细]
-
pt-table-sync及percona-toolkit工具包的安装和利用
所属栏目:[MySql教程] 日期:2022-04-08 热度:93
percona-toolkit MySQL的一个很有用的工具 详情请参考 检查数据一致性(前提是 从库必须是活动的) 保证 rep_40 用户有对主库及冲库的访问权限 最简单的做法就是赋予所有的权限 pt-table-checksum h=192.168.27.40,u=rep_40,p=*****,P=3306 --databases=af[详细]