/configure && gmake && gmake install 2)MySQL的编译安装 Groupadd mysql Useradd -M -s /sbin/nologin mysql...-g mysql Cd /media Tar zxf mysql-* -C /usr/src Cd /usr/src/mysql-* Cmake-DCMAKE_INSTALL_PREFIXX...=/usr/local/mysql -DSYSCONFDIR=/etc && make && make install 3、安装后的调整 1)给mysql目录添加权限 Chown -R mysql.../scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ 4...服务器默认端口号为:3306 4、MySQL的管理 1)登录mysql:mysql -u 用户名 -p (有密码时加-p,无密码时不用加) 2)更改密码:两种方式: 方式1:更改mysql库的user
本文大纲: 经典案例 增量计算 对账业务 对账优化 安全 联机闪回 业务分析 数据重演 数据分析 经典案例 增量抽取、增量计算等都是T-TDSQL的经典案例。
MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其高性能,高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。...在2008年以前,MySQL项目由MySQL AB公司进行开发、发布和支持,之后历经Sun公司收购MySQL AB公司,Oracle公司收购Sun公司的过程,目前MySQL项目由Oracle公司负责运营和维护...为了确保MySQL数据库功能的完整性、可定制性,我们决定采用源代码编译安装的方式安装MySQL数据库系统。.../ 3.配置 在实际环境中,可以会用到多种字符集的网页,相应地数据库系统也应该支持不同的字符集编码。...数据库系统,应以运行用户mysql的身份执行初始化脚本 mysql_install_db, --basedir表示指定数据程序目录、--datadir表示数据存放目录。
今天发现网站页面打开非常慢,对处理过程简单记录了一下 找问题 首先登录服务器使用 top 查看当前进程信息,发现排名第一的是 mysql,占用 cpu 达到了 100% 以上,这就明确了是 mysql...的问题 登录 mysql,使用 show processlist 查看下当前执行状态,发现了大量 LOCK 操作,也有多个 Copying to tmp table 的操作,说明有 sql 出现了问题,...操作过于复杂,对临时表使用频繁,把其他操作阻塞了 解决 找到了问题后,把处理方向确定为 检查和修改配置、sql优化 (1)修改mysql配置 临时表 既然涉及了到了临时表,就先查看下目前临时表的信息 查看临时表的使用状态...; 在现在值的基础上增加一些,重新设置临时表大小 线程缓存数 看当前线程情况 show global status like 'Thread%'; 发现 threads_created 的值过大,表明MySQL...优化 从 show processlist 结果集中找出主要的复杂语句,对其进行 explain 和 profile 分析 进行索引优化,把复杂的sql 根据业务拆分为多个小的sql 以上过程完成后,mysql
往往会伴随着国庆期间业务要上相关的活动,那么今天就分享一个今年五一前夕(4月30日)上新活动中遇到的一个性能问题; 问题背景 五一前夕(4月30日)中午频繁的收到业务慢查询的告警 排查过程 查看mysql...tables in use 3, locked 3 LOCK WAIT 9186 lock struct(s), heap size 1220816, 13 row lock(s) MySQL thread...tables in use 3, locked 3 9180 lock struct(s), heap size 1220816, 5 row lock(s) MySQL thread id 299537...虽然性能上没多少影响,但比较好奇,在理解当中MySQL知识体系中是没有交集语法。...那么接下来看下表结构和索引结构: mysql >show create table dic_match_signup_userinfo_7\G *************************** 1
-124-34 data]# ll total 157854040 -rw-r----- 1 mysql mysql 362 Apr 26 2018 ib_buffer_pool -...rw-r----- 1 mysql mysql 2818572288 May 13 14:41 ibdata1 -rw-r----- 1 mysql mysql 158792155136 May 13...14:40 ibtmp1 drwxr-x--- 2 mysql mysql 4096 Apr 18 2018 infra drwxr-x--- 2 mysql mysql...4096 Apr 18 2018 mysql 经过系统优化和业务协调需要做MySQL实例重启,已重置为初始大小,设置阈值为10G。...测试步骤如下: create table dic_fsm_info3 (classid varchar(30),etime varchar(30)); --可以根据业务特点创建索引 mysql>
本文针对上一篇《MySQL优化案例分享》文章中提到的线上业务产生的一个死锁问题进行展开讨论,主要针对两个update操作导致的死锁的场景,借此机会正好总结下MySQL锁及分析下产生死锁的原因和解决方案;...首先,针对MySQL中提供的锁种类做一个简单的总结,关于更多MySQL锁相关的内容可参考官方文档; MySQL InnoDB存储引擎提供了如下几种锁: 1、共享/排他锁(S/X锁) 共享锁(S Lock...案例分析 MySQL版本:MySQL 5.7 隔离级别:RC Session1 Session2 T1 begin;select * from locktest where name=’test’ lock...tables in use 1, locked 1 LOCK WAIT 5 lock struct(s), heap size 1136, 3 row lock(s) MySQL thread id...MySQL之上加了一层redis缓存锁,防止多个事务同时更新一个数据,如果有其他的解决方法,欢迎大家留言讨论;
顾名思义,数据库系统就是管理数据存储的软件。本篇就软件等级考试相关的数据库系统知识从整体上进行总结,方便大家复习。 1....数据库管理系统的类型 数据库系统有不同的分类方法(见下图),现代的数据库系统大多具有多用户、分布式的特点,因此最重要的区别就在于所采用的数据模型。...对于关系型数据库比较出名的有Mysql、Oracle,对于层次性数据库典型的有IMS,还有图数据库等等其它类型的数据库。 ? 2....数据库模式与范式 模式: 范式: 2.1 数据库的结构与模式 数据库结构分为多个层次,最著名的是美国ANSI/SPARC数据库系统研究组1975年提出的三级划分法。 这一部分几乎每年都会考。...是数据库系统的核心和基础,包括数据结构、数据操作、完整性约束三部分。 层次模型:使用树型结构表示实体类型及实体间联系。优点是查询效率高,缺点m:n联系实现复杂。
前阶段体验 Mysql 的新版本 5.7.13,由于机器里已经有 Mysql了,再安装另一个版本会有一些麻烦,为了简单,便使用 Docker 容器来安装 可能有人会认为没必要,在一台机器安装多个 Mysql...容器启动后,就可以进入 ubuntu 的 shell,进行正常操作,例如 [root@8f6f3cad2 /]# (4)把Mysql安装包拷贝到容器中 在主机中下载好 Mysql 5.7.13 的安装包...(5)在容器中安装运行 Mysql 在 ubuntu shell 下正常执行 Mysql 的安装操作,安装完成后,运行 Mysql 然后添加一个可以远程访问的用户,例如 test,密码 111111 (...6)在主机中连接 Mysql 在主机中使用 Mysql 的客户端进行连接,连接信息: Host - 分配给Docker的IP(可通过 Docker命令获得) Username - test Password...- 111111 Port - 3307 这样,一个完全独立的 Mysql 就安装完了,这只是 Docker 的一个简单应用场景,Docker 非常实用,现在的应用范围已经相当广泛,以后会介绍更多的用法和案例
昨天频繁的收到MySQL实例关于Aborted告警邮件,看到告警邮件的实例信息,测试实例,优先级没没那么高,晚点抽空在看,可能到时候就好了,抱着侥幸的心理继续划水,但是没过1个小时,收到50多封告警邮件...,实在受不了了,准备放下手头的事情优先处理该告警问题; 如下是告警邮件相关信息截图: 从告警看,是由于MySQL实例状态变量Aborted_connects不断增加导致的,正常情况下,该变量值应该保持...0 192.168.7.xxx:4306 10.21.1.28:6798 TIME_WAIT - 实例层面可以看到,Aborted_connects的值不断的增加 mysql...如下是官方文档针对该状态量的解释以及该变量不断增加可能产生的原因的说明: Aborted_connects The number of failed attempts to connect to the MySQL...,如上的四种情况会导致该变量值不断增加: 客户端尝试连接数据库,但是没有权限 客户端使用了错误的密码 连接的数据包包含不正确的信息 超过连接时间限制,主要有这个参数控制connect_timeout,mysql
背景 经常使用 MySQL 的话,会发现 MySQL 数据文件的磁盘空间一般会不停的增长,而且有时候删了数据或者插入一批数据的时候,磁盘空间有时候还会毫无变化。...引发这个其妙现象的就是 MySQL 的表空间碎片。 什么是表空间碎片?...:删除了日志表的很多数据,但是 MySQL 的磁盘空间并没有降低。...怎么查看表空间碎片 MySQL 的系统表记录了表空间的使用情况,可以用如下查询检查: SELECT CONCAT(table_schema,'.'...对于回收空间的问题 对一些日志表,或者是有区域性特征的表,建议使用 MySQL 的分区表来管理,需要清理一批数据的时候,可以用 partition truncate 的方式进行清理,磁盘空间也能直接释放掉
线上的SQL优化案例(一) 今天上班的时候,业务方询问了一个问题,说是某一服务每次在查询的时候会有0.5s的延迟,让DBA帮忙查一查到底是什么原因,听到0.5s的这个数字的时候,我感觉问题倒不是很严重...3、查看对应的表结构: mysql--dba_admin 12:59:09>>show create table account\G *************************** 1. row...| +-------------+ | 1 | +-------------+ 1 row in set (0.02 sec) mysql--dba_admin 12:02:25...改成单个字段的试试,这里我又把索引改成了: KEY `idx_accid` (`accountid`) 只保留一个字段,看看执行结果: mysql--dba_admin 13:12:17>>explain...建表语句如下: mysql--dba_admin 13:16:24>>show create table account\G *************************** 1. row ***
事实上 MySQL 本身就有 DDL 的监控手段吗,只是默认情况没有进行开启。 实践一下 测试环境使用了腾讯云数据库 MySQL 5.7,官方的 MySQL 8.0,5.7 版本基本同理。...首先需要打开performance_schema(腾讯云 MySQL 需要留意是否开启了这个参数),然后在setup_instruments表中开启 alter 操作对应的监控项以及p_f(performance_schema...table sbtest.sbtest1 modify c varchar(128) NOT NULL DEFAULT ''; 因为开启了 p_f 的参数,所以现在能在内存表里面看到具体的数据了: mysql...实际上运行的时间可以参考语句执行的具体时间: mysql> alter table sbtest.sbtest1 modify c varchar(120) NOT NULL DEFAULT '';...总结一下 其实 MySQL 自身已经集成了非常多的监控信息,有需求的时候可以多研究研究setup_instruments。
count(*)处理 想要优化count(*),首先得了解清楚,MySQL是如何处理count(*)的?在MySQL不同版本、不同存储引擎中,对于count(*)的处理方式,是存在差异的。..., 1 warning (0.00 sec) mysql> select count(*) from sbtest1; +----------+ | count(*) | +----------+ |...5.7.18之前版本,MySQL是通过扫描聚集索引(即全表扫描),来获取count(*)的结果 Prior to MySQL 5.7.18, InnoDB processes SELECT COUNT...5.7.18版本开始,MySQL会尽量选择扫描二级索引,来获取count(*)的结果 As of MySQL 5.7.18, InnoDB processes SELECT COUNT(*) statements...那么为什么MySQL要从扫描聚集索引优化成扫描二级索引呢?
最近刚好也遇到了一个典型的死锁案例,本文会基于这个案例,做一次详细的分析与拆解。...问题描述 细节信息已脱敏,由于innodb engine status会记录最近一次死锁的细节信息,因此案例现场的信息是可以完整拿到的。...MySQL 的锁机制天然具备这个条件。 请求与保持条件:资源请求被阻塞时,已持有的资源不会被释放。 MySQL 不触发死锁回滚,且未进入 lockwait_timeout 的时候,具备这个条件。...所以只需要定位到具体锁的数据,找到循环等待的逻辑关系,就可以完成整个案例分析了。...而 trx2 持有的锁信息中,第一个刚好就是 trx1 等待的: [trx2 持有的锁] 那么关于这个死锁案例的具体场景,就可以用下有向环的图例进行说明: [死锁图例] 至此为止,这个死锁的案例分析就完成了
// MySQL错误日志激增案例 // 今天中午,搭建好的一套主从环境中磁盘报警,登陆到相关环境,发现是MySQL的错误日志量非常大,于是使用tail -f命令查看了日志文件,发现该错误日志增长的速度非常快...动态修改复制过滤器 为了进一步确认问题,我查询了上面说到的二进制日志中的内容,我们可以使用"show binlog events in 'mysql-bin.001817' from 23565681...mysql系统数据库的所有操作,如下: ?...解决办法 1、查官方文档 文章最后面的错误码1237给了我一点提示,于是先查询了MySQL官方文档的错误码: https://dev.mysql.com/doc/refman/5.7/en/server-error-reference.html...2、查MySQL bug讨论区 功夫不负有心人,找到了: https://bugs.mysql.com/bug.php?
Mysql索引使用案例分析 1 Index Design 1.1 设计过程 考察只用排序 还是 先检索在排序(排序会限制索引使用)。 考察哪些列选择性更好,哪些列在where中最多。...=/home/mingjie.gmj/databases/data/mydata5470/tmp/mysql.sock --mysql-user=root --mysql-db=idxdb --db-driver...Using filesort:mysql 会对结果使用一个外部索引排序,而不是按索引次序从表里读取行。...测试准备 sysbench oltp_common --mysql-socket=/home/mingjie.gmj/databases/data/mydata5470/tmp/mysql.sock -...-mysql-user=root --mysql-db=idxdb --db-driver=mysql --tables=4 --table-size=10000000 --threads=128 prepare
为了保证GTID顺利的上线,在测试环境模拟各种故障场景,观察GTID 的表现 本文案例采用sandbox测试,GTID的一些关键测试参数如下 master-info-repository=table relay-log-info-repository...案例一 Master的UUID是00021800-1111-1111-1111-111111111111, Slave的UUID是 00021802-3333-3333-3333-333333333333...案例二 时间线 Master Slave 备注 t1 create table t1 生成的GTID为1111:1858 t2 STOP SLAVE 停止从库的线程 t3 RESET MASTER...111111111111:1859-1860 Executed_Gtid_Set: 00021800-1111-1111-1111-111111111111:1-1860 结语 案例一...案例二 人为操作导致relay log里面的事务顺序发生变化,导致报错,解决方式其实利用了slave crash safe原理,重启实例会删除relay log 重新拉取需要日志并记录到relay log
而随着互联网起来的Mysql、MongoDB,以及Redis内存型数据库越来越流行。...Informix Informix是一个跨平台的数据库管理系统,现在很多开源的数据库系统大多不支持小型机或者支持都比较弱,目前看趋势都是采用X86服务器。
事务管理 事务是数据库系统运行的基本工作单位,相当于操作系统中的进程,事务具有ACID特性。从用户的角度来看,事务中的操作要么都做,要么都不做。...大型数据库系统,例如Oracle提供了安全机制保证,但是小型的数据库并非都有相应的功能,有时需要人工辅助,保证数据库的安全和恢复。 备份与恢复 为应对数据库损坏的可能性,需要指定合适的备份和恢复计划。...分布式数据库系统具有以下几个特点: 数据的分布性 统一性。表现在数据逻辑上的统一性和数据管理上的统一性。 透明性,用户无须关心数据存放的位置。...体系机构 分布式数据库系统的模式有6个层次: 全局外模式,是全局应用的用户视图 全局概念模式,定义分布式数据库中数据的整体逻辑结构 分片模式 分布模式 局部概念模式 局部内模式,类似于集中式数据库系统中的内模式...并行数据库系统 对比互联网领域的技术发展路径来看,目前基本上看不到并行数据库系统使用的场景。
领取专属 10元无门槛券
手把手带您无忧上云