前言 MySQL 经常出现启动错误或者执行错误等等,这个时候我们需要查询error日志 在数据库使用中,经常会出现需要恢复数据的情况,MySQL如果需要恢复数据的话需要开启binlog(二进制日志). Error Log 错误日志默认设置如下: 1. error log 默认路径在数据文件下. 2. error log 默认文件名为主机名.err,例如:iZm5e5v2zi93osbr5z21fvZ.err. 自定义设置文件名和路径: 打开MySQL的配置文件 vim /etc/my.cnf …
一.mysql结构 1.实例 1.什么是单实例 一个进程 + 多个线程 + 一个预分配的内存空间 2.多实例 多个进程 + 多个线程 + 多个预分配的内存空间 ](http://shelldon.51vip.biz/wp-content/uploads/2020/08/wp_editor_md_c66556dcea1b5deb2a0823741f3f2c27.jpg) 2.mysql程序结构 1)连接层 1.验证用户身份 2.提供两种连接方式 3.与sql层建立线程 2)sql层 1.接收连接层…
package cn.jiayou; /* 一.mysql? a.MySQL是Web世界中使用最广泛的数据库服务器. SQLite的特点? 1.是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用. 2.而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于SQLite. 3.此外,MySQL内部有多种数据库引擎,最常用的引擎是支持数据库事务的InnoDB. -----------------------------------------------------…
分析下MySql中innodb存储引擎是如何通过日志来实现事务的? Mysql会最大程度的使用缓存机制来提高数据库的访问效率,但是万一数据库发生断电,因为缓存的数据没有写入磁盘,导致缓存在内存中的数据丢失而导致数据不一致怎么办? Innodb主要是通过事务日志实现ACID特性,事务日志包括:重做日志redo和回滚日志undo. Redo记录的是已经全部完成的事务,就是执行了commit的事务,记录文件是ib_logfile0 ib_logfile1 Undo记录的是已部分完成并且写入硬盘的未完成…
一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如  学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键   成绩表中的学号不是成绩表的主键,但它…
本文地址 分享提纲: 1. 概述 2. 详解配置文件 3. 详解日志 1.概述 MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下:在Linux下叫my.cnf,该文件位于/etc/my.cnf. 2. 详解配置文件 basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = path 从给定目录读取数据库文件. pid-file = filename 为mysq…
随笔 - 66 文章 - 0 评论 - 19 MySQL慢查询(二) - pt-query-digest详解慢查询日志 一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析.可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间.次数.占比等…
今天天气又开始变得很热了,虽然很热很浮躁,但是不能不学习,我在北京向各位问好.今天给大家分享一点关于数据库日志方面的东西,因为日志不仅讨厌而且还很重要,在开发中时常免不了与它的亲密接触,就在前几天公司开发环境中的几张数据表不知道被谁误删了,想看看日志但是一直没有过这方面的经历,于是望门却步了. MySQL数据库官方文档:https://dev.mysql.com/doc/refman/5.7/en/server-logs.html 一.MySQL日志分类:日志文件记录了影响数据库的各种类型活动,…
一.什么是二进制日志 二进制日志主要记录mysql数据库的变化,二进制日志包含所有更新了数据或者潜在更新了数据(如没有匹配到任何行的delete语句),语句以时间的形式保存,描述了数据的更改.二进制日志还包含执行每个更新数据库语句的时间信息,使用二进制日志的主要目的是最大可能的恢复数据库.因为二进制日志包含备份后进行的所有更新,不记录没有修改任何数据的语句. 开启二进制日志对性能的开销很小,带来的好处远大于坏处 二.开启和设置二进制日志 1.默认情况下二进制日志是关闭的,通过配置文件来启动和设置…
mysql用户授权.数据库权限管理.sql语法详解 —— NiceCui 某个数据库所有的权限 ALL 后面+ PRIVILEGES SQL 某个数据库 特定的权限SQL mysql 授权语法 SQL mysql 权限刷新 mysql 查看授权.显示授权 mysql 移除授权 一:授权主要的 SQL //某个数据库所有的权限 ALL 后面+ PRIVILEGES GRANT ALL PRIVILEGES ON db_permit.* TO 'dev'@'%' IDENTIFIED BY 'YQW…