-
半同步与加强半同步复制
所属栏目:[MySql教程] 日期:2022-04-02 热度:143
先要明白事务提交的三个阶段,这里不再赘述。 半同步复制:主上已经提交了,但是日志还没来得及传到备库,这时候宕机了,在半同步看来,主库其他会话看来是透明的,看到的是他提交了的数据,但是如果这时候切换到slave,slave上又没有提交,没有看到这部分[详细]
-
mysql的auto_increment细说
所属栏目:[MySql教程] 日期:2022-04-02 热度:64
MySQL的中AUTO_INCREMENT类型的属性用于为一个表中记录自动生成ID功能,可在一定程度上代替Oracle,PostgreSQL等数据库中的sequence。 在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。 当插入[详细]
-
将数据从文本导入至mysql
所属栏目:[MySql教程] 日期:2022-04-02 热度:146
将数据从文本导入到mysql(转)[@more@]access中可以将文本中的数据轻松导入表中,mysql中用起来没那么方便,其实起来也很简单。 首先将数据记录按行处理好用特定的字符分开如:, 记录形如: aaa,bbb,ccc,ddd,eee fff,ggg,hhh,iii,jjj,kkk 就行,建立loaddate[详细]
-
SQL业务审查与优化
所属栏目:[MySql教程] 日期:2022-04-02 热度:149
审核 什么是业务审核 类似与code review 评审业务Schema和SQL设计 偏重关注性能 是业务优化的主要入口之一 审核提前发现问题,进行优化 上线后通过监控或巡检发现问题,进行优化 Schema设计审核 表和字段命名是否合规 字段类型,长度设计是否适当 表关联关[详细]
-
MySQL 5.7中如何定位DDL被阻塞的难题
所属栏目:[MySql教程] 日期:2022-04-02 热度:197
在MySQL 5.7中,针对MDL,引入了一张新表performance_schema.metadata_locks,该表可对外展示MDL的相关信息,包括其作用对象,类型及持有等待情况。 开启MDL的instrument 但是相关instrument并没有开启(MySQL 8.0是默认开启的),其可通过如下两种方式开[详细]
-
MySQL执行计划explain输出列结果剖析
所属栏目:[MySql教程] 日期:2022-04-02 热度:194
MySQL执行计划explain输出列结果剖析: 1) id:每个被独立执行的操作的标识,表示对象被操作的顺序;id值大,先被执行;如果相同,执行顺序从上到下。 2) select_type:查询中每个select子句的类型; 3) table:名字,被操作的对象名称,通常是表名,但有[详细]
-
分析MYSQL BINLOG 二进制格式 --准备工作
所属栏目:[MySql教程] 日期:2022-04-02 热度:152
分析MYSQL BINLOG 二进制格式 --准备工作: 一、目的 本系列文件主要为了说明 1、为什么说row格式较statement更占空间 2、为什么说row格式的binlog更加安全 3、INSERT/UPDATE/DELETE是生成的row binlog如何直接看懂二进制格式 4、DDL生成的binlog是怎么样[详细]
-
mysqldump导入存储步骤和其注释
所属栏目:[MySql教程] 日期:2022-04-02 热度:78
mysqldump导出存储过程时,会有注释的。但是在用mysql命令导入时,如果不加说明,注释会自动过滤掉。为了连同注释一起导入进去,可以添加--comment参数。 例子: 导出存储过程: set date=%date:~0,4%-%date:~5,2%-%date:~8,2% set v_backup_file_name=xed[详细]
-
MySQL5.7.17源码编译安装时的注意点
所属栏目:[MySql教程] 日期:2022-04-02 热度:63
解压: # cd /root #tar xvzf boost_1_59_0.tar.gz 进入boost_1_59_0目录: #cd /root/boost_1_59_0 然后是编译安装,直接执行bootstrap.sh就可以: #sh ./bootstrap.sh Building Boost.Build engine with toolset gcc... tools/build/v2/engine/bin.linux[详细]
-
MySQL内的derived table
所属栏目:[MySql教程] 日期:2022-04-02 热度:122
初始MySQL中的derived table还是在一个偶然的问题场景中。 下面的语句在执行的时候抛出了错误。 UPDATE payment_data rr SET rr.penalty_date = 2017-4-12 where rr.id = (SELECT min(r.id) FROM payment_data r where data_no = (SELECT data_no FROM use[详细]
-
批量删除binlog 的脚本
所属栏目:[MySql教程] 日期:2022-04-02 热度:171
MySQL DBA 偶尔会遇到因为空间不足,在不能删除data之前,可能先想到的是通过删除binlog 暂时解决空间问题。周末本人也遇到这样的情况,因为不在电脑旁边,找领导出马并且使用手机把命令打出发给老板去删除binlog。想想还是写一个binlog 删除工具吧,以后遇[详细]
-
MYSQL_审计日志查看
所属栏目:[MySql教程] 日期:2022-04-02 热度:102
MYSQL_审计日志查看: 1.下载插件libaudit_plugin.so 2. 安装插件 MYSQL_审计日志查看 # unzip audit-plugin-percona-5.7-1.1.7-805-linux-x86_64.zip # cd /u01/soft/audit-plugin-percona-5.7-1.1.7-805/lib # cp libaudit_plugin.so /usr/local/mysql/l[详细]
-
MySQL ERROR Slave I O Found a Gtid_log_event or Previous
所属栏目:[MySql教程] 日期:2022-04-02 热度:75
MySQL 5.6的复制中断,发生下面错误 2018-10-18 12:20:02 15374 [ERROR] Slave I/O: Found a Gtid_log_event or Previous_gtids_log_event when @@GLOBAL.GTID_MODE = OFF. Error_code: 1784 2018-10-18 12:20:02 15374 [ERROR] Slave I/O: Relay log writ[详细]
-
把ACCESS的数据导入到Mysql中
所属栏目:[MySql教程] 日期:2022-04-02 热度:58
把ACCESS的数据导入到Mysql中(转)[@more@]在建设网站的过程中,经常要处理一些数据的导入及导出.在Mysql数据库中,有两种方法来处理数据的导出(一般). 1. 使用select * from table_name into outfile file_name; 2. 使用mysqldump实用程序 下面我们来[详细]
-
MongoDB与MySQL关于写确认的异同
所属栏目:[MySql教程] 日期:2022-04-02 热度:140
不同的写入确认级别或配置,是数据库提供给用户的一种自我控制的能力,用户可以针对自身业务的特点、数据管理的需要、性能的考虑、数据一致性以及服务可用性各种因素进行考虑,选择适合的数据库配置,来实现自身的需要。 首先介绍几个重要的概念,这些概念[详细]
-
初识MariaDB之1——MariaDB的安装
所属栏目:[MySql教程] 日期:2022-04-02 热度:66
初识MariaDB之1MariaDB的安装: 一、MariaDB介绍 MariaDB是Mysql在被Oracle收购后由原作者重新开发的一种关系型数据库程序,由于是同一个作者,所以在操作上与Mysql十分类似,版本也是相互对应,如:MariaDB5.5对应Mysql的5.5版本,但从Mysql5.6开始对应的[详细]
-
说GTID - GTID的组成和存储
所属栏目:[MySql教程] 日期:2022-04-02 热度:174
GTID是什么 GTID(Global Transaction Identifier)是事务在第一次提交时获取到的唯一标识,该标识在整个的复制拓扑中具有唯一性。 GTID组成 GTID = source_id:transaction_id(c4e5d4a0-a9be-11e9-b444-080027f22add:7) 直观看,GTID有两部分组成,sourc[详细]
-
pt-query-digest查询日志分析工具
所属栏目:[MySql教程] 日期:2022-04-02 热度:187
pt-query-digest查询日志分析工具: 用法示例 (1)直接分析慢查询文件: pt-query-digest slow.log slow_report.log (2)分析最近12小时内的查询: pt-query-digest --since=12h slow.log slow_report2.log (3)分析指定时间范围内的查询: pt-query-digest sl[详细]
-
数据库和表操作
所属栏目:[MySql教程] 日期:2022-04-02 热度:148
-- 创建数据库 -- 创建 classroom 数据库 create database 数据库名 default character set 字符编码 collate 排序规则; eg: create database classroom default character set utf8 collate utf8_general_ci; -- 查看所有数据库 show databases; -- 选择[详细]
-
翻译5.7手册InnoDB部分第一篇——InnoDB介绍
所属栏目:[MySql教程] 日期:2022-04-02 热度:189
翻译5.7手册InnoDB部分第一篇InnoDB介绍: 1. InnoDB介绍 InnoDB是一个高可靠,高性能的多用途数据库存储引擎。在MySQL5.7中InnoDB是默认使用的存储引擎,当然,你可以配置其它存储引擎,比如没有通过ENGINE设置为InnoDB的建表语句。 InnoDB的关键特性 列[详细]
-
Oracle专题7之多表查找
所属栏目:[MySql教程] 日期:2022-04-02 热度:150
什么是多表查询? 多表查询就是从多个表中获取数据。 1、笛卡尔集 笛卡尔集是集合中的一种。假设A和B都是集合,A和B的笛卡尔集用 A B来表示。即A B所形成的集合叫做笛卡尔集。 下表中,部门表员工表即为部门表和员工表的笛卡尔集。(可以看出,部门表员工[详细]
-
performance_schema细说
所属栏目:[MySql教程] 日期:2022-04-02 热度:157
performance_schema详解: 1、什么是performance_schema MySQL的performance schema 用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况,它具有以下特点: a、提供了一种在数据库运行时实时检查server的内部执行情况的方法。perf[详细]
-
MySQL 一个特殊的难题
所属栏目:[MySql教程] 日期:2022-04-02 热度:97
通过a进行过滤的数据和通过a和b过滤的数据条数一样,如果要通过索引访问数据select * from table where id1=1 和 select * from table where id1=1 and id2=10 是不是效率一致? 简易分析 首先对于数据查找,首先第一步是进行innodb层数据的定位(也就是从[详细]
-
MariaDB 10.1源码安装进程 CentOS 6.5
所属栏目:[MySql教程] 日期:2022-04-02 热度:191
--安装所需软件包 [root@localhost mariadb-10.1.14]# yum install bison bison-devel ncurses libxml2 libxml2-devel 下载新版本的cmake工具 [root@localhost install]# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz --no-check-certificate --[详细]
-
mysql-物理配备-Percona xtrabackup
所属栏目:[MySql教程] 日期:2022-04-02 热度:98
xtrabackup是percona公司开发的一个用于mysql物理热备的备份工具。 软件安装后一共有4个可执行文件: innobackupex:perl脚本,用来备份非innodb表,同时会调用xtrabackup来备份innodb表,会和mysql server进行交互。如:加读锁(FTWRL),获取位点(show slav[详细]