-
MySQL两阶段提交过程原理阐述
所属栏目:[MySql教程] 日期:2022-04-09 热度:182
MySQL使用两阶段提交主要解决 binlog 和 InnoDB redo log 的数据一致性的问题. 两阶段提交原理描述: 阶段1:InnoDB redo log 写盘,InnoDB 事务进入 prepare 状态 阶段2:如果前面prepare成功,binlog 写盘,那么再继续将事务日志持久化到binlog,如果持久[详细]
-
企业情况下MySQL5.5调优
所属栏目:[MySql教程] 日期:2022-04-09 热度:98
参照 腾讯云 和ucloud my.cnf 以及网上找的资料 整理出来的 my.cnf , 以后修改任何参数都会继续更新 也是在测试阶段 物理机 : ubuntu14.04 配置 8core 32G mysql : 5.5.62 调优配置 [client] port = 3306 socket = /var/run/mysqld/mysqld.sock default-[详细]
-
MySQL 存储过程空结果集错误Error 1329 No data 的异常处置
所属栏目:[MySql教程] 日期:2022-04-09 热度:108
在MySQL的存储过程中,当查询到空结果集时会产生下面报错 Error 1329 No data - zero rows fetched, selected, or processed 解决方法: 在存储过程中,添加异常处理 注意代码中的橙色部分的异常代码 delimiter $$ CREATE PROCEDURE PROC_ADDSubscribers_d[详细]
-
实例解读 MySQL并行复制如何解决特定的主从难题?
所属栏目:[MySql教程] 日期:2022-04-09 热度:173
并行复制存世已多年,但是在实际应用场景中的使用并不常见。这次很幸运,我们刚好遇到一个客户,主的写入工作量非常大,但是从难以跟上,在这种情况下,我建议它使用并行从属线程。 那么,如何衡量并行复制是否在客户的场景中发挥了作用?对于客户业务能够[详细]
-
SQL存储过程中运用BEGIN TRY捕捉错误并保存
所属栏目:[MySql教程] 日期:2022-04-09 热度:83
SQL存储过程中使用BEGIN TRY捕捉错误并保存: 1、创建保存错误的数据表: /*创建错误日志表*/ CREATE TABLE ErrorLog( errNum INT, ErrSev NVARCHAR(500), ErrState INT, ErrProc NVARCHAR(1000), ErrLine INT, ErrMsg NVARCHAR(2000) ) 2、创建保存错误信[详细]
-
MySQL Batched Key Access BKA 原理和设定使用办法举例
所属栏目:[MySql教程] 日期:2022-04-09 热度:109
MySQL 5.6版本开始增加了提高表join性能的算法:Batched Key Access (BKA)的新特性。 BKA算法原理:将外层循环的行/结果集存入join buffer,内存循环的每一行数据与整个buffer中的记录做比较, 可以减少内层循环的扫描次数. 对于多表join语句,当MySQL使用[详细]
-
mysql select之后的子查询
所属栏目:[MySql教程] 日期:2022-04-09 热度:80
select后面的子查询使用,只能是标量查询 #案例:查询每个部门的员工个数 SELECT d.*,( SELECT COUNT(*) FROM employees WHERE employees.`department_id`=d.department_id ) FROM departments d; #案例:查询员工号=102的部门名 SELECT department_name FR[详细]
-
mysql系列的 mmm高可用集群
所属栏目:[MySql教程] 日期:2022-04-09 热度:92
mmm高可用集群介绍: 高可用集群介绍:主备模式,当主不能提供服务的时候备用主机接替它提供服务。 这个过程对于客户端是透明的。 一、前期准备工作 1、准备五台linux服务器:主(192.168.4.122),主备(192.168.4.123) 从(192.168.4.126),从(192.16[详细]
-
mysql 半等步复制
所属栏目:[MySql教程] 日期:2022-04-09 热度:68
mysql 半同步复制: 一.半同步复制 半同步复制特点 1. 与传统的异步复制相比,半同步复制在多个Slave节点中会选取一个节点进行半同步复制。也就是说,当Master提交一个事务的时候,在这个半同步复制的Slave端返回一个同步完成的Ack包之后,服务器才会向用[详细]
-
MySQL Join联接
所属栏目:[MySql教程] 日期:2022-04-09 热度:113
到目前为止,我们只是从一个表读取数据。这是相对简单的,但在大多数现实中的MySQL使用,需要从多个表中,在单个查询获得数据。 可以在单个SQL查询中使用多个表。连接MySQL中的行在两个或多个表到一个表。 可以使用Join在SELECT,UPDATE和DELETE语句加入My[详细]
-
MySQL Order By排序结果
所属栏目:[MySql教程] 日期:2022-04-09 热度:178
我们已经看到使用SQL SELECT命令从MySQL表中获取数据。当选择数据行,MySQL服务器可以自由地返回它们的顺序,除非有指示它按照怎样的结果进行排序。但是排序结果可以通过增加一个ORDER BY子句设定列名称或要排序的列。 语法 这是使用ORDER BY子句从MySQL表[详细]
-
指定一个ID找到上下的区域
所属栏目:[MySql教程] 日期:2022-04-08 热度:168
倒是不复杂 需求: 实现思路: 给定一个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 热度:66
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的root用户无法给普通用户授权问题解决
所属栏目:[MySql教程] 日期:2022-04-08 热度:58
先看错误现象: 很奇怪,root用户应该不可能无法授权普通用户。看提示像是说密码错误。但是实际上密码没有问题。 决定去看看mysql.user表中root@localhost这个用户的权限是怎么样的。在mysql.user表中记录了与全局相关的权限信息。这个全局权限不是指拥有[详细]
-
MySQL的收费标准
所属栏目:[MySql教程] 日期:2022-04-08 热度:195
从与好多TX的沟通中来看,还是有好些人搞不清MySQL的收费政策的。我这里简单介绍下。 首先MySQL分企业版和社区版(community server) MySQL AB公司只对企业版提供技术支持,对社区版是不提供支持的。 社区版是免费的。 企业版MySQL有两种授权方式,一是GPL,[详细]
-
MySQL 5.7 新特性 共享临时表空间及临时表更进
所属栏目:[MySql教程] 日期:2022-04-08 热度:112
在MySQL 5.6引用了独立undo tablespace之后,MySQL 5.7在temporary tablespace上做了改进。 已经实现将temporary tablespace从ibdata(系统表空间文件)中分离。 并且可以重启重置大小,避免出现像ibdata难以释放的问题。 但下面所有的讨论只针对InnoDB,[详细]
-
MySQL 5.5编译安装cmake参数解说
所属栏目:[MySql教程] 日期:2022-04-08 热度:126
-DCMAKE_INSTALL_PREFIX=dir_name 安装的主目录 -DDEFAULT_CHARSET 字符集,默认字符集是latin1 -DDEFAULT_COLLATION=collation_name 服务校对,默认的是latin1_swedish_ci,可以通过SHOW COLLATION语句查看哪个校对匹配的字符集 -DENABLED_LOCAL_INFILE[详细]
-
MySQL 5.7.12新增MySQL Shell命令行性能
所属栏目:[MySql教程] 日期:2022-04-08 热度:134
在最新发布的MySQL 5.7.12中有许多令人兴奋的新功能,对于MySQL开发者来说,最令人兴奋的莫不是新增的MySQL Shell了,其下载地址: 有了MySQL Shell,我们可以将MySQL作为一个文档数据库来使用,也可以通过该工具调用Java、Python。 我们可以用mysqlsh --h[详细]
-
Inception部署测验
所属栏目:[MySql教程] 日期:2022-04-08 热度:171
如果你想学习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 InnoDB表的二级索引是否加入主键的总结
所属栏目:[MySql教程] 日期:2022-04-08 热度:170
相关MySQL InnoDB表的二级索引是否加入主键的总结: 1.对于MySQL InnoDB表的二级索引是否加入主键,官方也有明确的说明,建议线上MySQL的二级索引创建时强制加入主键所有的列,可以做到所有的MySQL 版本统一。 2.MySQL 5.6.9之前,InnoDB引擎层是会对二级[详细]
-
mysql多实例布局
所属栏目:[MySql教程] 日期:2022-04-08 热度:121
mysql多实例部署; 1.修改my.cnf [mysql] [mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin user = password = [mysqld1] #explicit_defaults_for_timestamp=true port = 3306 skip-name-resolve s[详细]
-
mysql 求分组最大值的十个处理方法
所属栏目:[MySql教程] 日期:2022-04-08 热度:201
How to solve the same problem in 10 different ways. One of the common problems to solve in SQL is Get row with the group-wise maximum. Getting just the maximum for the group is simple, getting the full row which is belonging to the maxim[详细]
-
MySQL 由于MDL读锁select被阻拦
所属栏目:[MySql教程] 日期:2022-04-08 热度:93
thread 1、begin; 更新表;没有提交,也没有回滚操作 thread2、create index 在这个表上 这时候客户端超时中断 再次连接会话查询此表被阻塞,无法查询 thread3、查询 select * from test; root@localhost : yaochong 17:08:27 select id,user,host,db,co[详细]
-
mydumper和myloader参数使用解说
所属栏目:[MySql教程] 日期:2022-04-08 热度:96
mydumper Usage: mydumper [OPTION...] multi-threaded MySQL dumping Help Options: -?, --help Show help options Application Options: -B, --database 需要备份的数据库,一个数据库一条命令备份,要不就是备份所有数据库,包括mysql。 -T, --tables-l[详细]
-
MySQL误操作数据恢复的简单践行
所属栏目:[MySql教程] 日期:2022-04-08 热度:127
前几天有个同事碰到了一个MySQL数据恢复的问题,他运行了一条update语句,结果忘记了加where条件,结果等反应过来已经晚了。我简单确认了下,是否存在备份,没有,是否开启了日志,没有。所以这个恢复无从谈起。 当然后来他也花了些功夫逐条数据修复,事情[详细]