-
mysql的执行策划解释
所属栏目:[MySql教程] 日期:2022-04-09 热度:90
关于MySQL的执行计划,做个笔记,可以做为优化的依据,尽量将第四列 type优化到ref,至少要保证range方式,能用覆盖索引的要使用覆盖索引,然后possible_keys显示null不代表不使用索引,覆盖索引的时候,可能只在key列显示,possible_keys显示null;然后注[详细]
-
xtrabackup自主全备份脚本
所属栏目:[MySql教程] 日期:2022-04-09 热度:170
xtrabackup自动全备份脚本,具有发送邮件和主从判断功能. ##set environment## . ~/.bash_profile BASEDIR=/data_bak SPACE_RATE=95 #space rate 95 SPACE_ROOM=10485760 #10GB WORKPATH=/data_bak/mysqlbackup/percona DATETIME=`date +%Y%m%d%H%M` INNOBA[详细]
-
MySQL 5.5 FLUSH TABLES WITH READ LOCK语句简介
所属栏目:[MySql教程] 日期:2022-04-09 热度:127
FLUSH TABLES WITH READ LOCK语句会关闭所有打开的表,并将所有数据库的表加上全局只读锁。 这对于备份来说十分方便。如果有像 Veritas 或 ZFS 这样的文件系统,你可以对备份打快照。 也可以直接拷贝要备份的表文件到备份目录 cp -r /data_dir/ /back_dir[详细]
-
MySQL Order By排序结果
所属栏目:[MySql教程] 日期:2022-04-09 热度:195
我们已经看到使用SQL SELECT命令从MySQL表中获取数据。当选择数据行,MySQL服务器可以自由地返回它们的顺序,除非有指示它按照怎样的结果进行排序。但是排序结果可以通过增加一个ORDER BY子句设定列名称或要排序的列。 语法 这是使用ORDER BY子句从MySQL表[详细]
-
MySQL Join联接
所属栏目:[MySql教程] 日期:2022-04-09 热度:102
到目前为止,我们只是从一个表读取数据。这是相对简单的,但在大多数现实中的MySQL使用,需要从多个表中,在单个查询获得数据。 可以在单个SQL查询中使用多个表。连接MySQL中的行在两个或多个表到一个表。 可以使用Join在SELECT,UPDATE和DELETE语句加入My[详细]
-
mysql 半等步复制
所属栏目:[MySql教程] 日期:2022-04-09 热度:192
mysql 半同步复制: 一.半同步复制 半同步复制特点 1. 与传统的异步复制相比,半同步复制在多个Slave节点中会选取一个节点进行半同步复制。也就是说,当Master提交一个事务的时候,在这个半同步复制的Slave端返回一个同步完成的Ack包之后,服务器才会向用[详细]
-
mysql系列的 mmm高可用集群
所属栏目:[MySql教程] 日期:2022-04-09 热度:163
mmm高可用集群介绍: 高可用集群介绍:主备模式,当主不能提供服务的时候备用主机接替它提供服务。 这个过程对于客户端是透明的。 一、前期准备工作 1、准备五台linux服务器:主(192.168.4.122),主备(192.168.4.123) 从(192.168.4.126),从(192.16[详细]
-
mysql select之后的子查询
所属栏目:[MySql教程] 日期:2022-04-09 热度:166
select后面的子查询使用,只能是标量查询 #案例:查询每个部门的员工个数 SELECT d.*,( SELECT COUNT(*) FROM employees WHERE employees.`department_id`=d.department_id ) FROM departments d; #案例:查询员工号=102的部门名 SELECT department_name FR[详细]
-
MySQL Batched Key Access BKA 原理和设定使用办法举例
所属栏目:[MySql教程] 日期:2022-04-09 热度:141
MySQL 5.6版本开始增加了提高表join性能的算法:Batched Key Access (BKA)的新特性。 BKA算法原理:将外层循环的行/结果集存入join buffer,内存循环的每一行数据与整个buffer中的记录做比较, 可以减少内层循环的扫描次数. 对于多表join语句,当MySQL使用[详细]
-
MySQL 存储过程空结果集错误Error 1329 No data 的异常处置
所属栏目:[MySql教程] 日期:2022-04-09 热度:60
在MySQL的存储过程中,当查询到空结果集时会产生下面报错 Error 1329 No data - zero rows fetched, selected, or processed 解决方法: 在存储过程中,添加异常处理 注意代码中的橙色部分的异常代码 delimiter $$ CREATE PROCEDURE PROC_ADDSubscribers_d[详细]
-
实例解读 MySQL并行复制如何解决特定的主从难题?
所属栏目:[MySql教程] 日期:2022-04-09 热度:75
并行复制存世已多年,但是在实际应用场景中的使用并不常见。这次很幸运,我们刚好遇到一个客户,主的写入工作量非常大,但是从难以跟上,在这种情况下,我建议它使用并行从属线程。 那么,如何衡量并行复制是否在客户的场景中发挥了作用?对于客户业务能够[详细]
-
SQL存储过程中运用BEGIN TRY捕捉错误并保存
所属栏目:[MySql教程] 日期:2022-04-09 热度:147
SQL存储过程中使用BEGIN TRY捕捉错误并保存: 1、创建保存错误的数据表: /*创建错误日志表*/ CREATE TABLE ErrorLog( errNum INT, ErrSev NVARCHAR(500), ErrState INT, ErrProc NVARCHAR(1000), ErrLine INT, ErrMsg NVARCHAR(2000) ) 2、创建保存错误信[详细]
-
MySQL Innodb表空间卸载和迁移案例
所属栏目:[MySql教程] 日期:2022-04-08 热度:79
需求: 两台服务器A(192.168.1.1)和服务器B(192.168.1.2) 数据目录都为:/usr/local/mysql/data 现在想把A服务器上/usr/local/mysql/data下的chenfeng数据库迁移到B服务器上,只迁移chenfeng库,其他数据库不动。 步骤如下: 在服务器B上: 建库: mysql create[详细]
-
小心避坑 MySQL分页时出现的数据重复问题
所属栏目:[MySql教程] 日期:2022-04-08 热度:66
问题描述 在MySQL中我们通常会采用limit来进行翻页查询,比如limit(0,10)表示列出第一页的10条数据,limit(10,10)表示列出第二页。但是,当limit遇到order by的时候,可能会出现翻到第二页的时候,竟然又出现了第一页的记录。 具体如下: SELECT `post_tit[详细]
-
ERROR 1114 HY000 The table test1 is full 的解决
所属栏目:[MySql教程] 日期:2022-04-08 热度:64
今天执行sql碰到 1114的错误,如下: mysql insert into test1 select * from test; Query OK, 1778 rows affected (0.06 sec) Records: 1778 Duplicates: 0 Warnings: 0 mysql insert into test1 select * from test; ERROR 1114 (HY000): The table test[详细]
-
mysql sysbench 1.0.X
所属栏目:[MySql教程] 日期:2022-04-08 热度:125
mysql sysbench 1.0.X: 1.安装sysbench yum install sysbench 2.download source code sysbench-1.0.14srclua,所有文件上传Linux /opt目录 3.准备mysql CREATE DATABASE tdb01; CREATE USER root@192.168.0.130 IDENTIFIED BY root123; GRANT ALL PRIVI[详细]
-
使一个新的MySQL安装更安全
所属栏目:[MySql教程] 日期:2022-04-08 热度:70
使一个新的MySQL安装更安全 (转)[@more@]在你自己安装了一个新的MySQL服务器后,你需要为MySQL的root用户指定一个目录(缺省无口令),否则如果你忘记这点,你将你的MySQL处于极不安全的状态(至少在一段时间内)。 在Unix(Linux)上,在按照手册的指令安[详细]
-
Learning MySQL and MariaDB
所属栏目:[MySql教程] 日期:2022-04-08 热度:104
PART II Database Structures To start, let s create a database that will contain information about birds and call it rookery . To do this, enter the following from within the mysql client: CREATE DATABASE rookery; DROP DATABASE rookery ;[详细]
-
Linux 安装mysql 5.7.21 可能遇到的问题归类
所属栏目:[MySql教程] 日期:2022-04-08 热度:181
Linux 安装mysql 5.7.21 可能遇到的问题归类: 1、Done with file /usr/share/mysql/czech/errmsg.sys from install of mysql-community-common-5.7.9-1.el6 解决方案:删除原来的包,重新安装。 yum -y remove mysql-libs-* 2、安装数据库 初始化(这里是[详细]
-
slow慢日志按天分割脚本
所属栏目:[MySql教程] 日期:2022-04-08 热度:70
#!/bin/bash ####split mysql slow-query-log####### LOG=/u01/mysql/5310/log/slow DATE=`date +%Y-%m-%d` user=root passwd=root01 #stop slow_query_log mysql -u$user -p$passwd -e set global slow_query_log=0 #reset the filename of slow_query_lo[详细]
-
MySQL 5.7.12新增MySQL Shell命令行性能
所属栏目:[MySql教程] 日期:2022-04-08 热度:90
在最新发布的MySQL 5.7.12中有许多令人兴奋的新功能,对于MySQL开发者来说,最令人兴奋的莫不是新增的MySQL Shell了,其下载地址: 有了MySQL Shell,我们可以将MySQL作为一个文档数据库来使用,也可以通过该工具调用Java、Python。 我们可以用mysqlsh --h[详细]
-
MySQL 5.5编译安装cmake参数解说
所属栏目:[MySql教程] 日期:2022-04-08 热度:104
-DCMAKE_INSTALL_PREFIX=dir_name 安装的主目录 -DDEFAULT_CHARSET 字符集,默认字符集是latin1 -DDEFAULT_COLLATION=collation_name 服务校对,默认的是latin1_swedish_ci,可以通过SHOW COLLATION语句查看哪个校对匹配的字符集 -DENABLED_LOCAL_INFILE[详细]
-
MySQL 5.7 新特性 共享临时表空间及临时表更进
所属栏目:[MySql教程] 日期:2022-04-08 热度:166
在MySQL 5.6引用了独立undo tablespace之后,MySQL 5.7在temporary tablespace上做了改进。 已经实现将temporary tablespace从ibdata(系统表空间文件)中分离。 并且可以重启重置大小,避免出现像ibdata难以释放的问题。 但下面所有的讨论只针对InnoDB,[详细]
-
MySQL的收费标准
所属栏目:[MySql教程] 日期:2022-04-08 热度:114
从与好多TX的沟通中来看,还是有好些人搞不清MySQL的收费政策的。我这里简单介绍下。 首先MySQL分企业版和社区版(community server) MySQL AB公司只对企业版提供技术支持,对社区版是不提供支持的。 社区版是免费的。 企业版MySQL有两种授权方式,一是GPL,[详细]
-
指定一个ID找到上下的区域
所属栏目:[MySql教程] 日期:2022-04-08 热度:125
倒是不复杂 需求: 实现思路: 给定一个ID,比如272944 如果表中的ID大于这个值,则自定义变量自增加一, 如果表中的ID小于这个值,则用这个值减去表中ID, 如果表中的ID等于这个值,则为0 SELECT a.ZpID, WHEN a.zpid - 272944 0 THEN @a:=@a + 1 WHEN a.zpid - 2[详细]