mysql
文章平均质量分 61
十年砍柴---小火苗
这个作者很懒,什么都没留下…
展开
-
什么是最左前缀原则?什么是最左匹配原则?
所以,当然是我们能尽量的利用到索引时的查询顺序效率最高咯,所以mysql查询优化器会最终以这种顺序进行查询执行。可以看出他是使用索引了,因为对于三个索引的时候,只要是前两个,存在,不论顺序是什么都是会使用索引的,这里主要是mysql查询优化器起的作用了。值得注意的是,where sex=“2” and name=“4” 这个相当于只有sex使用到了索引的,然后回到刚才的3.1中三个索引的时候:sex,age,name。联合索引的顺序为:sex,age,name。这两个都是用了索引的,这是。原创 2023-02-06 11:38:12 · 467 阅读 · 0 评论 -
mysql的group_concat函数详解
如果我们希望按分数score进行分组,并将分组后的学生姓名打印下来,就可以用group_concat实现。常用于select 语句中,下面我们通过一张表来讲解group_concat函数的用法。原创 2023-01-09 18:11:44 · 473 阅读 · 0 评论 -
MySQL跳过密码登录
第一种1.1停止mysql服务1.2以管理员身份运行cmd,执行以下命令cd C:\Program Files\mysql-5.7.17-winx64\binmysqld --skip-grant-tables或者mysqld_safe --skip-grant-tables1.3在不关闭cmd情况下重新以管理员身份运行一个cmd,执行如下命令cd C:\Program Files\mysql-5.7.17-winx64\binmysql -uroot -palter ...原创 2021-10-01 09:28:32 · 3184 阅读 · 0 评论 -
使用PHP实现查找附近的人
最近有个业务场景使用到了查找附近的人,于是查阅了相关资料,并对使用PHP实现相关功能的多种方式和具体实现做一篇技术总结,欢迎各位看官提出意见和纠错,下面开始进入正题:LBS(基于位置的服务)查找附近的人有个更大的专有名词叫做LBS(基于位置的服务),LBS是指是指通过电信移动运营商的无线电通讯网络或外部定位方式,获取移动终端用户的位置信息,在GIS平台的支持下,为用户提供相应服务的一种增值业务。因此首先得获取用户的位置,获取用户的位置有基于GPS、基于运营商基站、WIFI等方式,一般由客户端获取原创 2021-07-10 21:26:28 · 291 阅读 · 0 评论 -
PHP实现Redis分布式锁
锁在我们的日常开发可谓用得比较多。通常用来解决资源并发的问题。特别是多机集群情况下,资源争抢的问题。但是,很多新手在锁的处理上常常会犯一些问题。今天我们来深入理解锁。一、Redis 锁错误使用之一我曾经见过有的项目把查询结果存储到 Redis 当中时的伪代码如下:$redis = new \Redis('127.0.0.1', 6379);$cacheKey = 'query_cache';$result = $redis->get($cacheKey);if ($r...原创 2021-01-23 13:28:01 · 404 阅读 · 0 评论 -
搞懂MySQL GTID原理
从MySQL 5.6.5 开始新增了一种基于 GTID 的复制方式。通过 GTID 保证了每个在主库上提交的事务在集群中有一个唯一的ID。这种方式强化了数据库的主备一致性,故障恢复以及容错能力。GTID (Global Transaction ID)是全局事务ID,当在主库上提交事务或者被从库应用时,可以定位和追踪每一个事务,对DBA来说意义就很大了,我们可以适当的解放出来,不用手工去可以找偏移量的值了,而是通过CHANGE MASTER TO MASTER_HOST='xxx', MASTER_AUT原创 2021-01-11 14:16:23 · 172 阅读 · 0 评论 -
MySQL 5.7 主从同步操作
MySQL 5.7 主从同步操作1.主:10.1.8.73 从:10.1.8.72,主my.cnf配置文件,从my.cnf配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # 主my.conf [mys...原创 2021-01-10 16:16:08 · 179 阅读 · 1 评论 -
Linux下安装mysql-5.7.28详细步骤
Linux下安装mysql-5.7.28详细步骤一、下载Mysql下载地址:https://downloads.mysql.com/archives/community/二、环境配置检测系统是否自带Mysql# rmp -qa|grep mysql如果有进行强行卸载# rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64检测系统是否自带mariadb# rpm -qa|grep maria...原创 2021-01-10 11:09:45 · 356 阅读 · 0 评论 -
Mac系统下源码编译安装MySQL 5.7.17的教程
Mac系统下源码编译安装MySQL 5.7.17的教程这篇文章主要介绍了Mac系统下源码编译安装MySQL 5.7.17的教程详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下1、下载并解压到:/Users/xiechunping/Softwares/mysql-5.7.17下载地址:http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.7/mysql-boost-5.7.17.tar.gz2、进入mysql-5.7.17,执行cmak.原创 2021-01-10 10:56:47 · 268 阅读 · 1 评论 -
MySQL 如何查看及修改数据库引擎
MySQL 如何查看及修改数据库引擎1、查看mysql支持的引擎有哪些1 show engines结果,如图所示:由上图可以看出,只有InnoDB是支持事务的2、查看当前默认的引擎1 show variables like 'default_storage_engine'如图所示,我的默认是MyISAM3、查看指定表当前的引擎,有2种方式1 show table status where NAME ='xf_card'或1 show create tabl原创 2021-01-09 17:40:22 · 202 阅读 · 0 评论 -
mysql快速增加大量测试模拟数据,指数级增加
create table t1(id int)engine myisam;insert into t1values(1),(2),(3)insert into t1select * from t1;自己插自己,多重复几次,比如10次,以2的指数倍增加原创 2021-01-09 10:44:36 · 254 阅读 · 0 评论 -
配置Mysql远程连接
配置Mysql远程连接一.赋予某个用户权限 1.赋予权限格式:grant权限on数据库对象to用户@IP(或者相应正则) 注:可以赋予select,delete,update,insert,index等权限精确到某一个数据库某一个表。 GRANT ALLPRIVILEGESON *.*TO'用户名'@'%'IDENTIFIEDBY'密码'WITHGRANTOPTION; 这里表示赋予该用户所有数据库所有表(*.*表示所有表),%表示所有I...原创 2021-01-04 14:18:41 · 198 阅读 · 0 评论 -
2003 - Can't connect to MySQL server on解决方法
这种问题非常容易确定,就是无法连接。原因入下:一、90%的问题是因为防火墙屏蔽,比如我自己在Windows上安装了mysql5.6,用Navicat远程连接提示这个错误以Windows防火墙为例(同理可自行搜索Linux等系统的防火墙配置):打开防火墙后进行入下操作:添加防火墙例外端口入站规则设置第一步 选择 入站规则 然后 新建规则,选择 端口,然后下一步第二步...原创 2020-03-29 15:10:57 · 2087 阅读 · 1 评论 -
mysql decimal类型与decimal长度用法详解
三者的区别介绍float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)按存储的范围进行排序float(real)doub...原创 2016-12-22 16:50:08 · 111829 阅读 · 1 评论 -
上一篇和下一篇得到sql
SELECT * FROM bjy_article WHERE id10 ORDER BY id DESC LIMIT 1; #上一篇SELECT * FROM bjy_article WHERE id>10 ORDER BY id DESC LIMIT 1; #上一篇原创 2018-05-03 17:06:56 · 1174 阅读 · 0 评论 -
session入库
session入库,就是重写session制机,在session的周期内,获得到session的数据并记录到数据库Session默认是存放到服务器上的文件中,不方便管理,如果能把session存放到数据库中就可以方便的对数据库进行管理了比如: * 1、可以解决不同平台多服务器间session数据共享 * 2、可以统计在线人数 * 3、原创 2018-04-25 17:47:10 · 182 阅读 · 0 评论 -
ubuntu和centos下面多域名配置
前言:情景一:平时在我们开发的时候,一般项目都只存放在 localhost 指定的根目录下,当有好几个项目的时候,只能在根目录下以不同的文件夹区分,特别的不方便。情景二:平时在看教学视频的时候,总是看到那些老师在单机下使用不同的域名,访问的却是本地的项目代码,每当这时候我都会问,这个怎么实现的。情景三:在最近去实习面试的时候,面试官问我如何在 apache 服务器上搭建多站点。我只能回答我不会。为...原创 2018-03-28 13:36:15 · 690 阅读 · 0 评论 -
ubuntu相对完美的安装lamp
基本设置1.配置网络环境管理员给分配了一个静态IP,所以还需要进一步配置网络环境配置DNS:右上角网络连接->编辑链接->有线连接1->IPv4设置->DNS服务器:202.112.80.106->保存登陆网关:对于校园网用户来说,登陆网关才能访问外网测试: ping www.baidu.com2.设置root密码sudo passwd切换到root用户:su 或 s...原创 2018-03-28 11:47:42 · 414 阅读 · 0 评论 -
tp5+mysql实现消息队列,并在mac系统下定时执行
Demo简介订单系统和配货系统之间的信息传递,当订单系统压力比较大时或者出现故障时不影响到配货系统,所以就用了消息队列和定时系统。Demo准备1.创建一张数据表重点内容 status:0未处理,1已完成,2.处理中 2.下载tp5 3.mac系统 4.php7.0(我的是php7.0)Demo流程1.客户下单(如果是在高并发的原创 2018-03-12 09:46:09 · 752 阅读 · 0 评论 -
Mysql 查看连接数,状态 最大并发数(赞)
-- show variables like '%max_connections%'; 查看最大连接数set global max_connections=1000 重新设置mysql> show status like 'Threads%';+-------------------+-------+| Variable_name | Value |+----------------...原创 2018-02-24 11:34:25 · 1393 阅读 · 0 评论 -
MySQL删除表数据
在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。 如果要清空表中的所有记录,可以使用下面的两种方法: DELETE FROM table1 TRUNCATE TABLE原创 2017-04-12 11:10:45 · 297 阅读 · 0 评论 -
MySQL 查看表结构简单命令
一、简单描述表结构,字段类型desc tabl_name;显示表结构,字段类型,主键,是否为空等属性,但不显示外键。例如:desc table_name二、查询表中列的注释信息select * from information_schema.columnswhere table_schema = 'db' #表所在数据库and table_n原创 2017-04-07 14:08:03 · 43761 阅读 · 0 评论 -
关于数据库主键和外键
一、什么是主键、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一原创 2017-03-24 20:36:13 · 307 阅读 · 0 评论 -
mysql创建用户和授予权限
//创建用户:create user 'user1'@'localhost' identified by '123';//再来一个:create user 'user2'@'192.168.40.78' identified by '123';则此时,192.168.40.78ip的同学,登录时,可以这样来: mysql -h192.168.40.42 -uuser2 -原创 2017-03-18 17:41:07 · 496 阅读 · 0 评论 -
SQL 标量函数-----日期函数 day() 、month()、year()
SQL 标量函数-----日期函数 day() 、month()、year()select day(createtime) from life_unite_product --取时间字段的天值select month(createtime) from life_unite_product --取时间字段的月值select year(createtime)原创 2017-02-20 15:46:40 · 3251 阅读 · 0 评论 -
MySQL中函数CONCAT及GROUP_CONCAT
一、CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串。使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name |+----+--------+| 1 | BioCyc |+----+--------+1、语法及使用特点:CON原创 2017-01-23 10:58:23 · 298 阅读 · 0 评论 -
常用php内置MySQL函数
1.mysql_connect(); 连接mysql服务器,三个参数:主机,用户名,密码2.mysql_select_db(); 选择数据库3.mysql_query(); 发送sql语句,参数$sql,$connect4.mysql_close(); 关闭mysql连接,参数为使用mysql_connect()时的资源标识符5.mysql_error(); php内置mysql错原创 2017-01-22 15:24:14 · 363 阅读 · 0 评论 -
group_concat函数详解
问了好多人,都不知道group_concat这个函数。 这个函数好啊,能将相同的行组合起来,省老事了。 MySQL中group_concat函数完整的语法如下:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询原创 2017-01-23 10:57:45 · 586 阅读 · 0 评论 -
MySQL查询缓存设置提高MySQL查询性能
首先看看MSYQL逻辑框架:图片来自高性能mysql如果使用了QueryCache,当查询接收到一个和之前同样的查询,服务器将会从查询缓存中检索结果,而不是再次分析和执行相同的查询。这样就能大大提高查询性能。打开查询缓存,要通过几个步骤来设置:虽然你设置mysql允许查询缓存,但是如果你设置的查询缓存大小为了0,这和没有允许没什么区别。所以必须是几个步骤的设置才能真正打原创 2016-12-27 17:47:13 · 315 阅读 · 0 评论 -
消息队列及PHP中的简单实现与应用
1. 关于消息队列1.1 基础模式一个基础的消息队列应该是这样的:1.2 应用场景消息队列的应用场景大概可以是以下几种:冗余;解耦(比如业务系统和队列处理系统一方奔溃不会影响另一方);流量削峰(抢购,秒杀等场景);异步通信;拓展性;排序保证(比如做成单进程单线程单进单出);1.3 队列介质实现消息队列的方式有很多,这里介绍三种模式的实原创 2017-12-23 10:27:12 · 577 阅读 · 0 评论 -
mysql中数据类型的长度
因为最近要登记一些长度较大的数值,今天才仔细的查看了bigint的范围。以前都忽略了mysql中数据长度的上限问题。 在mysql中创建表时,varchar类型必须指定长度,int类型可以不指定长度。当然,在mysql中使用界面创建表(不使用sql语句创建表),若不指定长度,它会为你指定默认长度,下面对mysql中常见的几种数据类型的默认长度和最大长度进行了总结。原创 2018-01-30 18:41:15 · 2529 阅读 · 0 评论 -
select into from 和 insert into select 的用法和区别
select into from 和 insert into select都是用来复制表,两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建。insert into select from 要求目标表存在备份表数据: create table emp as select * from scott.emp还原表数据:in原创 2018-01-17 15:47:47 · 326 阅读 · 0 评论 -
MySQL修改root密码的多种方法
在 Navicat for MySQL 下面直接执行 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 就可以方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');方法2...原创 2018-02-09 10:36:56 · 217 阅读 · 0 评论 -
mysql rand,round,floor,ceiling函数以及获得指定范围随机数
1.rand()函数只能生成0到1之间的随机小数,如果想要生成0到10,0到100就rand()*相应的值。2.如果想得到整数就要用到round(x),floor(x)和ceiling(x)。round(x)是四舍五入 ; floor(x)是去小于等于x的整数; ceiling(x)是取大于等于x的整数; 其中round函数还有round(x,n)的形式,保留n原创 2018-02-13 11:00:08 · 1011 阅读 · 0 评论 -
MySQL 字段类型
数值MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分(UNSIGNED)或者用零填补(ZEROFILL)。INT在 MySQL 中支持的 5 个主要整数类型是 TINYINT,SMALLINT,MEDIUMINT,INT 和 B...原创 2018-03-07 10:03:14 · 476 阅读 · 0 评论 -
MYSQL日期 字符串 时间戳互转
平时比较常用的时间、字符串、时间戳之间的互相转换,虽然常用但是几乎每次使用时候都喜欢去搜索一下用法;本文将作为一个笔记,整理一下三者之间的 转换(即:date转字符串、date转时间戳、字符串转date、字符串转时间戳、时间戳转date,时间戳转字符串)用法,方便日后查看;涉及的函数date_format(date, format) 函数,MySQL日期格式化函数date_form原创 2018-02-27 16:32:04 · 278 阅读 · 0 评论 -
Mysql各种类型字段长度
列类型 需要的存储量 TINYINT 1 字节SMALLINT 2 个字节MEDIUMINT 3 个字节INT原创 2017-05-23 10:38:31 · 2097 阅读 · 0 评论