[client] port = 3306 socket = /usr/local/lnmp/mysql-5.7/mysql.sock [mysqld] # Remove leading # and set...to the amount of RAM for the most important data # cache in MySQL....-5.7 datadir = /usr/local/lnmp/mysql-5.7/data port = 3306 server_id = 1 socket = /usr/local/lnmp/mysql...-5.7/mysql.sock log-bin = /usr/local/lnmp/mysql-5.7/mysql-bin expire_logs_days = 10 max_binlog_size =...= /usr/local/lnmp/mysql-5.7/slow-query.log long-query_time = 2 log-error = /usr/local/lnmp/mysql-5.7
慢查询日志概念 MySQL 的慢查询日志是 MySQL 提供的一种日志记录,它用来记录在 MySQL 中查询响应时间超过阈值的语句,具体指响应时间超过 long_query_time 值的 SQL,会被记录到慢查询日志...long_query_time 的默认值是 10s,意思是查询响应时间超过 10s 的 SQL语句。...可以不设置该参数,系统会默认给一个缺省值的文件host_name-slow.log long_query_time:慢查询时间阈值,默认情况下值为 10s log_queries_not_using_indexes...,如下所示: 开启慢查询日志: 使用 set global slow_query_log=1 开启慢查询日志只对当前数据库生效,如果 MySQL 重启后则会失效。...如果要永久生效,就需要修改配置文件 my.cnf(Linux 下的叫法),如果是 win 系统一般叫 my.ini,如如下所示: 修改 my.ini 文件,增加或修改参数 slow_query_log
[client] port = 3306 socket = /usr/local/lnmp/mysql-8.0.12/mysql.sock [mysqld] #设置mysql 8.0 的加密方式为 mysql_native_password...(默认为:caching_sha2_password) default_authentication_plugin=mysql_native_password basedir = /usr/local.../local/lnmp/mysql-8.0.12/mysql.sock #二进制日志目录 log-bin = /usr/local/lnmp/mysql-8.0.12/mysql-bin #自动删除过期日志的天数...expire_logs_days = 10 #限制单个文件大小 max_binlog_size = 100M #查询日志 general_log = 1 #查询日志文件位置 general_log_file...= /usr/local/lnmp/mysql-8.0.12/query.log #慢查询日志 slow_query_log = 1 #慢日志文件位置 slow_query_log_file = /usr
query_cache_min_res_unit:查询缓存所分配的最小块的大小。默认值是4096(4KB)。 query_cache_type:设置查询缓存的类型。...当这个参数为0或OFF时,则MySQL服务器不会启用查询缓存;当这个参数为1或ON时,则MySQL服务器会缓存所有查询结果(除了带有SELECT SQL_NO_CACHE的语句);当这个参数为2或DEMAND...可以用来在性能测试时,将缓存改成到一个已知的状态;或在数据库运行报表查询或维护后,将数据库改成到一个正常的状态。...可以改变这个参数的默认值来提升数据库的性能,但是在数据库宕机的时候会丢失少量的事务。...最后附上生产环境中的my.cnf文件 [mysqld] # 指定端口 不指定默认3306 #port=5603 # mysql数据存放路径 datadir=/var/lib/mysql # mysql
[mysqld] #Mysql服务的唯一编号 每个mysql服务Id需唯一 server-id = 1 #服务端口号 默认3306 port = 3306 #mysql安装根目录 basedir =...#只能用IP地址检查客户端的登录,不用主机名 skip_name_resolve = 1 #事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能) transaction_isolation...= READ-COMMITTED #数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节) character-set-server = utf8mb4 #数据库字符集对应一些排序等规则...的缓存查询结果集功能 #后期根据业务情况测试决定是否开启 #大部分情况下关闭下面两项 query_cache_size = 0 query_cache_type = 0 #数据库错误日志文件 log_error...,必须达到此值可被记录 long_query_time = 8 #检索的行数必须达到此值才可被记为慢查询 min_examined_row_limit = 100 #mysql binlog日志文件保存的过期时间
MYSQL数据库-复合查询 零、前言 一、基本查询 二、多表查询 三、自连接 四、子查询 1、单行子查询 2、多行子查询 3、多列子查询 3、在from子句中使用子查询 五、合并查询 1、union 2...、union all 零、前言 本章主要讲解学习MYSQL数据库中的复合查询,前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够 一、基本查询 示例: 查询工资高于500...worker,给自己的表起别名,因为要先做笛卡尔积,所以别名可以先识别 四、子查询 子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询 1、单行子查询 返回一行记录的子查询...,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指查询返回多个列数据的子查询语句 示例:查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人 3、在from...子句中使用子查询 子查询语句出现在from子句中。
Mysql数据库-子查询 1. 什么是子查询 # 子查询定义 ## B语句作为A语句的一部分,B语句是select查询语句,那么B语句称之为子查询,内层查询(子集,subquery) -- 1....查询emp表的最高工资salary,然后再根据最高工资salary查询员工的信息 -- 2.1 通过max(salary)可以查询出emp表的最高工资为9000 mysql> select max(salary...查询部门平均工资超过全公司平均工资的部门id和部门平均工资 -- 3.1 先查询公司平均工资 mysql> select avg(salary) from emp; +-----------------...查询工资大于5000的员工,来自于哪些部门的名字 -- 1.1 首先查询salary>5000的部门ID,列子查询(多行单列) mysql> select dept_id from emp where...查询开发部与财务部所有的员工信息 -- 2.1 查询出 开发部 与 财务部 的部门ID mysql> select id from dept where name = '开发部' or name = '
MySQL发送查询请求,到底做了什么工作? 下图是MySQL查询执行流程图: ? •客户端发送一条查询给服务器。•服务器先检查查询缓存,如果命中了缓存,则立刻返回查询在缓存中的结果。...•MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询。•将结果返回给客户端。 是什么导致MySQL查询变慢了?...对于MySQL,最简单的衡量查询开销的三个指标如下: •响应时间•扫描的行数•返回的行数 没有哪个指标能够完美地衡量查询的开销,但它们大致反映了MySQL在内部执行查询时需要访问多少数据,并可以大概推算出查询运行的时间...2.关联子查询 MySQL的子查询实现是非常糟糕的。...列表中的选项有专门的优化策略,一般会认为MySQL会先执行子查询返回所有包含author_id 为1的book_id。
(height,0)) from students where gender = 1; 说明:ifnull函数表示判断指定字段的值是否为null,如果为空使用自己提供的值 7、聚合函数的特点 聚合函数默认忽略字段为...SQL语句,子查询被嵌入到一对小括号里面 数据库设计之三范式 1、数据库设计之三范式的介绍 范式: 对设计数据库提出的一些规范,目前有迹可寻的共有8种范式,一般遵守3范式即可。...5、E - R模型的介绍 E-R模型即实体-关系模型,E-R模型就是描述数据库存储数据的结构模型。...E-R模型由 实体、属性、实体之间的关系构成,主要用来描述数据库中表结构。...create database jing_dong charset=utf8; -- 使用 "京东" 数据库 use jing_dong; -- 创建一个商品goods数据表 create table
概述 使用where子句实现对查询数据的筛选 where子句分为五类: 比较运算符 逻辑运算符 范围查询 模糊查询 空判断 语法 select 字段名from 表名 where子句; 分类 比较运算符筛选...= 逻辑运算符 and or not 范围查询 in between 大 and 小 模糊查询 like 查询关键字 %表示任意多个字符(包括0) _表示任意一个字符 escape:取消%或_字符的通配符特性
概述 分组查询的作用是将查询的结果按指定字段分组,字段中数值相等的为一组。 分组以后可以配合count()、agv()、sum()、max()等聚合函数使用。...语法 group by 列名 [having表达式][with rollup] having表达式:用来过滤分组后的数据 with rollup:在所记录后加一条,显示select查询聚合的结果 案例
// MySQL之my.cnf文件常用参数 // MySQL的配置文件,想必大家都不陌生,今天再来说说配置文件中的一些常用配置,并非最合理的配置,仅供参考,只有了解自己的生产环境,才能根据环境找到最适合你的配置文件参数...datadir=/data/mysql_4316/data tmpdir = /data/mysql_4316/tmp #服务器字符集# character-set-server = utf8 #查询缓存...(比较鸡肋的功能,基本弃用) query_cache_type = 0 query_cache_size = 0M # 查询常见的一些buffer参数,需要根据实际情况调整,不可直接照搬# sort_buffer_size...innodb_buffer_pool_size=200M innodb_buffer_pool_instances = 1 innodb_max_dirty_pages_pct = 75 #IO相关的参数,有些是默认的...=28800;set wait_timeout=28800;" 以上为常用的MySQL参数,再次强调,不一定适合所有人,不理解的参数,请到官方文档查询。
MySQL5.5 my.cnf配置参考 主要配置参数转载自: http://www.linuxyw.com/a/shujuku/20130506/216.html 并稍微做了修改MyISAM部分以适应当前的环境...此配置是老男孩生产线上使用的配置,在培训的时候,他给的,我在这里,对各参数添加了中文说明 这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话,可以直接使用该配置参数 MYSQL服务器my.cnf...query_cache_limit = 4M #指定单个查询能够使用的缓冲区大小,缺省为1M query_cache_min_res_unit = 2k #默认是4KB,设置值大对大数据查询有好处...,但也会增加恢复故障数据库所需的时间 innodb_log_files_in_group = 3 #为提高性能,MySQL可以以循环方式将日志文件写到多个文件。...#skip_networking #开启该选可以彻底关闭MYSQL的TCP/IP连接方式,如果WEB服务器是以远程连接的方式访问MYSQL数据库服务器的,则不要开启该选项,否则将无法正常连接。
MySQL 5.6版本适合在1GB内存VPS上的my.cnf配置文件 [client] port = 3306 socket = /tmp/mysql.sock [mysqld]...进行排序查询时, # MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。...的查询缓冲大小(从4.0.1开始,MySQL提供了查询缓冲机制)使用查询缓冲,MySQL将SELECT语句和查询结果存放在缓冲区中, # 今后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果...# 3.可以实现单表在不同的数据库中移动。...4 # 注:这两个参数不支持动态改变,需要把该参数加入到my.cnf里,修改完后重启MySQL服务,允许值的范围从 1-64 innodb_thread_concurrency = 0
概述: 连接查询的作用将多张表进行内容上的连接,查看数据时可以同时看到多张表的多个数据 连接查询的分类 内连接查询 左连接查询 右连接查询 自连接查询 语法 #内连接 SELECT * FROM...inner join 实现多表查询,查询共有记录。...SELECT * FROM 表1 inner join 表2 on 表1.字段=表2.字段 左连接查询 left join 以左表为主,查询右表的数据。若右表不存在数据,则返回null。...SELECT * FROM 表1 left join 表2 on 表1.字段=表2.字段 右连接查询 right join 以右表为主,查询左表的数据。若左表不存在数据,则返回null。...SELECT * FROM 表1 right join 表2 on 表1.字段=表2.字段 自连接查询 inner join 左表和右表是同一个表,查询两个表中的数据。
MySql版本信息的查询: 1、通过mysql -V命令查询 C:/mysql/bin>mysql -V mysql Ver 12.22 Distrib 4.0.18, for Win95/Win98...(i32) 2、通过mysql模式下的status命令查看状态 mysql> status -------------- mysql Ver 12.22 Distrib 4.0.18, for Win95...> 3、通过mysql模式下的select语句查询 mysql> select version(); +-----------+ | version() | +-----------+ | 4.0.18...-nt | +-----------+ 1 row in set (0.00 sec) mysql> 4、通过mysql --help命令进行查看 C:/mysql/bin>mysql --help mysql... Ver 12.22 Distrib 4.0.18, for Win95/Win98 (i32) Copyright (C) 2002 MySQL AB
数据文件的路径; --pid-file 服务器写自己的进程号的文件;如果这个不指定,mysql使用默认的hostname.pid; The PID file value被传递给mysqld_safe...**问题4.查看mysql的配置文件调用顺序** mysql --help|grep “my.cnf”,当启动mysql服务的时候,会从当前目录的my.cnf中去读对应的参数,优先级顺序和输出顺序保持一致...1、未指定 pid 文件时,pid 文件默认名为 主机名.pid,存放的路径在默认 MySQL 的数据目录。...3、因此,通过 mysqld_safe 启动时, MySQL pid 文件的作用是:在数据文件是同一份,但端口不同的情况下,防止同一个数据库被启动多次。 !...**关于MySQL之my.cnf配置文件,你学废了么?**
它是mysqld的父进程,它调用mysqld启动数据库服务,并在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它,当我们开启mysqld_safe命令的时候,可以防止mysql服务的意外终止...mysqld mysqld是关于服务器端的程序,要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库。...问题4.查看mysql的配置文件调用顺序 mysql --help|grep “my.cnf”,当启动mysql服务的时候,会从当前目录的my.cnf中去读对应的参数,优先级顺序和输出顺序保持一致。...1、未指定 pid 文件时,pid 文件默认名为 主机名.pid,存放的路径在默认 MySQL 的数据目录。...3、因此,通过 mysqld_safe 启动时, MySQL pid 文件的作用是:在数据文件是同一份,但端口不同的情况下,防止同一个数据库被启动多次。
mysql -v 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
单表查询 1、普通查询 (1)命令:select * from ;//通匹 (2)命令:select from ; 2、去重查询(distinct) 命令:select...distinct from 3、排序查询(order by) 升序:asc 降序:desc 降序排列命令:select from order...by desc 不加desc一般默认为升序排列 4、分组查询(group by) 命令:select , Sum(score) from group...命令:mysql>select id, Sum(score) from result group by id; 多表查询 一、等值查询 现在有两个表: 现在要查询年龄小于20岁学生的不及格成绩...: 可见等值查询效率太低 二、连接查询 1、外连接查询 (1)左外连接查询 假设我们依旧使用的是上面的两个表,任然查询年龄小于20岁学生的不及格成绩 我们利用左外连接查询,先将学生表中所有年龄小于
领取专属 10元无门槛券
手把手带您无忧上云