-
MySQL 5.7中如何定位DDL被阻塞的难题
所属栏目:[MySql教程] 日期:2022-04-02 热度:170
在MySQL 5.7中,针对MDL,引入了一张新表performance_schema.metadata_locks,该表可对外展示MDL的相关信息,包括其作用对象,类型及持有等待情况。 开启MDL的instrument 但是相关instrument并没有开启(MySQL 8.0是默认开启的),其可通过如下两种方式开[详细]
-
将数据从文本导入至mysql
所属栏目:[MySql教程] 日期:2022-04-02 热度:100
将数据从文本导入到mysql(转)[@more@]access中可以将文本中的数据轻松导入表中,mysql中用起来没那么方便,其实起来也很简单。 首先将数据记录按行处理好用特定的字符分开如:, 记录形如: aaa,bbb,ccc,ddd,eee fff,ggg,hhh,iii,jjj,kkk 就行,建立loaddate[详细]
-
mysql的auto_increment细说
所属栏目:[MySql教程] 日期:2022-04-02 热度:90
MySQL的中AUTO_INCREMENT类型的属性用于为一个表中记录自动生成ID功能,可在一定程度上代替Oracle,PostgreSQL等数据库中的sequence。 在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。 当插入[详细]
-
半同步与加强半同步复制
所属栏目:[MySql教程] 日期:2022-04-02 热度:164
先要明白事务提交的三个阶段,这里不再赘述。 半同步复制:主上已经提交了,但是日志还没来得及传到备库,这时候宕机了,在半同步看来,主库其他会话看来是透明的,看到的是他提交了的数据,但是如果这时候切换到slave,slave上又没有提交,没有看到这部分[详细]
-
SQL业务审查与优化
所属栏目:[MySql教程] 日期:2022-04-02 热度:196
审核 什么是业务审核 类似与code review 评审业务Schema和SQL设计 偏重关注性能 是业务优化的主要入口之一 审核提前发现问题,进行优化 上线后通过监控或巡检发现问题,进行优化 Schema设计审核 表和字段命名是否合规 字段类型,长度设计是否适当 表关联关[详细]
-
MySQL内的derived table
所属栏目:[MySql教程] 日期:2022-04-02 热度:163
初始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[详细]
-
MySQL5.7.17源码编译安装时的注意点
所属栏目:[MySql教程] 日期:2022-04-02 热度:143
解压: # 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[详细]
-
mysqldump导入存储步骤和其注释
所属栏目:[MySql教程] 日期:2022-04-02 热度:187
mysqldump导出存储过程时,会有注释的。但是在用mysql命令导入时,如果不加说明,注释会自动过滤掉。为了连同注释一起导入进去,可以添加--comment参数。 例子: 导出存储过程: set date=%date:~0,4%-%date:~5,2%-%date:~8,2% set v_backup_file_name=xed[详细]
-
MySQL执行计划explain输出列结果剖析
所属栏目:[MySql教程] 日期:2022-04-02 热度:148
MySQL执行计划explain输出列结果剖析: 1) id:每个被独立执行的操作的标识,表示对象被操作的顺序;id值大,先被执行;如果相同,执行顺序从上到下。 2) select_type:查询中每个select子句的类型; 3) table:名字,被操作的对象名称,通常是表名,但有[详细]
-
分析MYSQL BINLOG 二进制格式 --准备工作
所属栏目:[MySql教程] 日期:2022-04-02 热度:135
分析MYSQL BINLOG 二进制格式 --准备工作: 一、目的 本系列文件主要为了说明 1、为什么说row格式较statement更占空间 2、为什么说row格式的binlog更加安全 3、INSERT/UPDATE/DELETE是生成的row binlog如何直接看懂二进制格式 4、DDL生成的binlog是怎么样[详细]
-
binlog_ignore_db造成的同步复制故障
所属栏目:[MySql教程] 日期:2022-04-01 热度:70
在MySQL master上使用binlog_ignore_db参数之后,mysq -e执行的所有语句都不写binlog了。 查看MySQL操作手册,忽略某个库的复制有两个参数: 1、binlog_ignore_db 该参数设置到master上,例如:binlog_ignore_db=test,那么针对该库的所有操作(增、删、改[详细]
-
MySQL 8.0处理Too many connection
所属栏目:[MySql教程] 日期:2022-04-01 热度:200
其实这个功能,MySQL增加的着实太晚了。在MariaDB 10.0和Percona5.6版本中,有个参数extra_port可以登录后门解决。 在MySQL 8.0版本中,有个类似的参数实现了该功能。 admin_address = 127.0.0.1 admin_port = 13308 create_admin_listener_thread = ON 注[详细]
-
MySQL分区简介
所属栏目:[MySql教程] 日期:2022-04-01 热度:62
不论创建何种类型的分区,如果表中存在主键或唯一索引时,分区列必须是唯一索引的一个组成部分 mysql create table t1( - col1 int not null,col2 date not null,col3 int not null,col4 int not null,unique key(col1,col2)) partition by hash(col3) par[详细]
-
Double类型精度问题造成的错误
所属栏目:[MySql教程] 日期:2022-04-01 热度:121
研发同事让把某个double类型字段的值四舍五入保留2位小数,mysql中round(col,2)可以实现四舍五入并且保留2位小数,但是神奇的事情发生了:发现有的四舍五入是正确的,而有的不是我们想要的结果,如下:简单模拟此场景: yujxdrop table dd; yujxcreate tab[详细]
-
MySQL log_timestamps参数与mysql数据库读取my.cnf的次序
所属栏目:[MySql教程] 日期:2022-04-01 热度:131
最近,遇到一个奇怪的问题,mysql使用--defaults-file指定my.cnf启动数据库,结果每次启动都报错 log_timestamps 参数无效。 MySQL log_timestamps参数与mysql数据库读取my.cnf的顺序 1、mysql启动确实使用--defaults-file指定了特定的my.cnf 2、启动确实[详细]
-
MySQL 基准测试工具tpcc-mysql使用手册及报告解析
所属栏目:[MySql教程] 日期:2022-04-01 热度:91
〇 下载安装 make如果成功后,会在tpcc-mysql目录下生成tpcc_load与tpcc_start两个工具。 make如果报错,一般原因是缺少mysql_config环境,报错形如: /bin/sh: mysql_config: command not found load.c:19:19: error: mysql.h: No such file or directory[详细]
-
小C的MySQL学习笔记 MySQL的安装布局
所属栏目:[MySql教程] 日期:2022-04-01 热度:50
个人MySQL学习笔记第一章,记录MySQL在linux操作系统下的安装流程 一、MySQL安装包的下载 二、MySQL安装流程 1. 关闭防火墙和selinux [root@mysql ~]# service iptables stop [root@mysql ~]# chkconfig iptables off [root@mysql ~]# chkconfig --list|gr[详细]
-
CentOS6.5二进制文件安置MySQL5.6.39
所属栏目:[MySql教程] 日期:2022-04-01 热度:182
CentOS6.5二进制文件安装MySQL5.6.39 准备工作 MySQ二进制安装Lmysql-5.6.39-linux-glibc2.12-x86_64.tar.gz 准备( 官网下载 ) 一、检查是否安装过MySQL并卸载 # 检查是否安装过MySQL [root@csxf ~]# rpm -qa|grep mysql # 删除所有MySQL [root@csxf ~]# y[详细]
-
mysql启动,由于磁盘空间不足引起的报错
所属栏目:[MySql教程] 日期:2022-04-01 热度:74
一次启动mysql的时候,起不来并报以下错误: [root@red2 fonts]# /etc/init.d/mysqld start Starting MySQL..The server quit without updating PID file (/opt/mysql/data/red2.pid).[FAILED] 1,系统是Red Hat Enterprise Linux Server release 5.8,数[详细]
-
应用连接过时排查DB MySQL
所属栏目:[MySql教程] 日期:2022-04-01 热度:180
应用超时报错如下: [2020-04-22 10:25:50,928] [ERROR] [DruidPooledStatement:357] [DubboServerHandler-192.168.xx.xx:20881-threa d-199] -- [TID: 668796908.406.15875214226879429] CommunicationsException, druid version 1.1.10, jdbcUrl : jdbc:[详细]
-
CentOS下使用yum方式安装percona xtrabackup过程
所属栏目:[MySql教程] 日期:2022-04-01 热度:60
编辑/etc/yum.repos.d/Percona.repo,加入以下内容: #vi /etc/yum.repos.d/Percona.repo [percona] name = CentOS $releasever - Percona baseurl=http://repo.percona.com/centos/$releasever/os/$basearch/ enabled = 1 gpgkey = file:///etc/pki/rpm-gpg[详细]
-
MySQL的权限设定和备份还原
所属栏目:[MySql教程] 日期:2022-04-01 热度:142
MySQL数据库系统的维护工作主要包括用户权限的设置、数据库的备份与恢复,本篇博客将对进行这些操作进行讲解 数据库的用户授权 MySQL数据库的root用户账号拥有对所有库、表的全部权限,频繁使用root账号会给数据库服务器带来一定的风险。在工作中,通常会[详细]
-
如何在MySQL元数据库里查阅索引
所属栏目:[MySql教程] 日期:2022-04-01 热度:191
-- 查看主键约束 SELECT * FROM information_schema.`TABLE_CONSTRAINTS`; -- 查看外键约束 SELECT * FROM information_schema.`REFERENTIAL_CONSTRAINTS`; -- 查看所有列DML权限信息 SELECT * FROM information_schema.`COLUMN_PRIVILEGES`; -- 查看用户[详细]
-
相关极速赛车源码搭建mysql复合索引
所属栏目:[MySql教程] 日期:2022-04-01 热度:118
复合索引原则:极速赛车源码搭建 最左前缀原则:企 娥:217 1793 408 index(a,b,c) 1、每次查询必须有a,如ab,ac,abc,如果没有a,只有bc查询将失效 2、查询中带or,查询失效 3、查询中带%*,查询失效。 4、where a=* and b and c=* ,c将不走索引 所以还是[详细]
-
mysql数据库安装途径迁移
所属栏目:[MySql教程] 日期:2022-04-01 热度:61
mysql数据库安装路径迁移之前,先停止业务。 一、停止数据库服务 systemctl stop mysqld 二、查看服务器存储情况 df -h 三、进入数据库默认安装目录 cd /var/lib/mysql 四、查看mysql默认路径下文件大小 du -h --max-depth=1 /var/lib/mysql 五、复制/var/[详细]