技术饭 MySQL崩溃与致命错误:无法为缓冲池分配内存

我们有几个网站在运行,拥有1GB的实例。服务器运完美无暇运行5个月,然后MySQL开始崩溃,每隔几天,mysql错误日志中出现以下错误。

阅读全文 » 349天前
2019年10月16日

技术饭 MySQL的InnoDB引擎数据库经常出现自动关闭现象,Cannot allocate memory for the buffer pool

MySQL的InnoDB引擎数据库经常出现自动关闭现象,Cannot allocate memory for the buffer pool,最近网站经常时不时地出现访问不了的状况,一直没在意,今天又一down机了,索性就查看了下MySQL的日志。

阅读全文 » 349天前
2019年10月16日

技术饭 Navicat连接Mysql报错:Client does not support authentication protocol requested by server;

上篇刚写了安装Mysql,想用Navicat去连接,然后就报错了,此处记录报错解决。Navicat连接MySQL Server8.0版本时出现Client does not support authentication protocol requested by server;解决如下:

阅读全文 » 402天前
2019年08月24日

技术饭 Mysql如何查询连续的时间次数

Mysql如何查询连续的时间次数,在网上看到一道有意思的题目,大意是如何在mysql查询连续在线的天数。所谓的连续在线是指相邻两天都登录过,不一定一直在线,但是只要有过登录即可。如,1月1日登录了一会下线了,一月2日登录了一会下线了,那么,就算1月1日和2日是连续在线,天数为2。如果1月3日,没有登录过,1月4日登录了,此时,1月4日与1月1日、2日不算连续在线了。设连续在线天数为days,则1月1日在线,days=1;1月2日在线,days=2;1月3日不在线,1月4日在线,days=1;1月5日在线,days=2;

阅读全文 » 581天前
2019年02月26日

技术饭 MySql中InnoDb引擎,show table status 数据不准确

MySql中InnoDb引擎,show table status 数据不准确,与你使用的表引擎有关系。官方文档的说明:一些存储引擎(如myisam)存储精确的计数。对于其他存储引擎(如InnoDB),该值是近似值,可能与实际值相差40%到50%。在这种情况下,使用select count(*)获得准确的计数。在myisam这种不支持事务的引擎中,这个值是精确的,在innodb这种支持事务的引擎中,是估算的。

阅读全文 » 616天前
2019年01月22日

技术饭 mysql存储表情:General error: 1366 Incorrect string value: '\xF0\x9F\x98\x8A' for column

今天向数据库插入一条数据时,有条数据的某个字段包含\xF0\x9F\x98\x8A字符,导致MYSQL数据库出现以下错误:General error: 1366 Incorrect string value: '\xF0\x9F\x98\x8A' for column ...

阅读全文 » 640天前
2018年12月29日

技术饭 Linux下如何实现Mysql数据库每天自动备份定时备份

备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的!

阅读全文 » 696天前
2018年11月03日

技术饭 PHP面试的知识点

PHP面试之一:PHP基础知识点,PHP面试之二:高并发与大数据,PHP面试之三:MySQL数据库,PHP面试之三:MySQL数据库

阅读全文 » 720天前
2018年10月10日

技术饭 Mysql-Proxy代理配置

Mysql-Proxy是一个处于你的client端和Mysql Server端之间的一个简单程序,它可以监测、分析和改变他们的通信。它使用灵活没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。

阅读全文 » 725天前
2018年10月06日

技术饭 MySQL 8.0主从(Master-Slave)配置

MySQL 主从复制的方式有多种,本文主要演示基于基于日志(binlog)的主从复制方式。MySQL 主从复制(也称 A/B 复制) 的原理:Master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-bin指定的文件, 这些记录叫做二进制日志事件(binary log events);Slave 通过 I/O 线程读取 Master 中的 binary log events 并写入到它的中继日志(relay log);Slave 重做中继日志中的事件, 把中继日志中的事件信息一条一条的在本地执行一次,完成数据在本地的存储, 从而实现将改变反映到它自己的数据(数据重放)。

阅读全文 » 725天前
2018年10月05日

技术饭 MySQL创建自定义函数(Functions)

MySQL创建自定义函数(Functions),查看函数功能是否开启:show variables like '%func%';开启:SET GLOBAL log_bin_trust_function_creators=1;关闭:SET GLOBAL log_bin_trust_function_creators=0;

阅读全文 » 726天前
2018年10月05日

技术饭 mysql触发器trigger 实例详解

触发器是由事件来触发某个操作,这些事件包括insert语句、update语句和delete语句。当数据库系统执行这些事件时,会激活触发器执行相应操作。MySQL从5.0.2开始支持触发器。使用触发器可以保证某些操作之间的一致性。

阅读全文 » 726天前
2018年10月05日

技术饭 mysql的event(事件)用法详解

mysql5.1版本开始引进event概念。event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。

阅读全文 » 726天前
2018年10月04日

技术饭 Mysql中的存储过程

简单的说Mysql中的存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用。

阅读全文 » 726天前
2018年10月04日

技术饭 Mysql常用复杂常用查询语句

Mysql常用复杂常用查询语句,记录一些自己不常用的 SQL 查询语句。

阅读全文 » 726天前
2018年10月04日

技术饭 mysql数据库分表及实现

项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的算法,让用户访问不同的表,这样数据分散到多个数据表中,减少了单个数据表的访问压力。提升了数据库访问性能。

阅读全文 » 726天前
2018年10月04日

技术饭 MySQL主键和外键使用及说明

MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作。

阅读全文 » 727天前
2018年10月03日

技术饭 MySQL8.0修改用户密码语句

MySQL8.0修改用户密码语句,mysql8 与以前版本还是有点区别的,首先登陆mysql,mysql -u root -p '密码',use mysql,ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'

阅读全文 » 727天前
2018年10月03日

技术饭 MySQL特殊一些函数

MySQL特殊一些函数,EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等,CONCAT_WS() 是CONCAT()的特殊形式,第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间,GROUP_CONCAT([DISTINCT] 要连接的字段,[Order BY ASC/DESC 排序字段] [Separator '分隔符']),REPEAT()函数,用来复制字符串,LOCATE()函数表示某个字符出现的位置。

阅读全文 » 727天前
2018年10月03日

技术饭 MySql数据统计使用 WITH ROLLUP 统计总和

MySql数据统计使用 WITH ROLLUP 统计总和,ITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。例如我们将以上的数据表按名字进行分组,再统计每个人登录的次数。

阅读全文 » 727天前
2018年10月03日

技术饭 mysql 替换某个字段中的某个字符

mysql 替换某个字段中的某个字符,需求:修改字段中的 /uploads/2018/ 为 /uploads/2018/09/ ,解决方法:使用sql的 replace() 方法:update 表名 set 字段名 = REPLACE (字段名, '原来的值', '要修改的值');

阅读全文 » 742天前
2018年09月19日

技术饭 php7+mysql8下出现网页无法访问问题解决方案

php7+mysql8下出现网页无法访问问题解决方案,最近因为剁手买了Centos7,在上面搭建Ningx1.14.0+PHP7.2+Mysql8.0环境。数据库mysql从5.7跳到8,性能快了一倍,lnmp基本都弄好了,但是到用php连接Mysql这一步出了问题,一直无法加载网页,可是使用客户端、shell命令都可以进入mysql,多方查询才找到答案!

阅读全文 » 745天前
2018年09月15日

技术饭 报错:1130-host ... is not allowed to connect to this MySql server

报错:1130-host ... is not allowed to connect to this MySql server

阅读全文 » 746天前
2018年09月14日

技术饭 Mysql客户端登录问题:mysql Client does not support authentication protocol requested by server; consider upgrading MySQL

Mysql客户端登录问题:mysql Client does not support authentication protocol requested by server; consider upgrading MySQL

阅读全文 » 747天前
2018年09月14日

技术饭 【转】MySQL性能优化的最佳21条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。

阅读全文 » 887天前
2018年04月26日

技术饭 MySQL基础整理

MySQL基础整理,Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

阅读全文 » 889天前
2018年04月24日

技术饭 MySQL批量删除指定前缀表

MySQL批量删除指定前缀表,Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'hp_%';"hp"为要删除的表前缀,执行此SQL语句后会生成一串SQL语句,必须再执行生成的这些SQL语句才能真正执行删除操作。

阅读全文 » 930天前
2018年03月15日

技术饭 Mysql查询同一天且满足一定条件下语句

Mysql查询同一天且满足一定条件下语句,mysql好多是好久没用就忘记怎么使用了,今天刚刚好要使用msyql来查询比较复杂的查询语句,要用到groud by分组。

阅读全文 » 1034天前
2017年11月30日

技术饭 Centos下MySQL出现Unknown/unsupported storage engine: InnoDB的解决方案

Centos下MySQL出现Unknown/unsupported storage engine: InnoDB的解决方案,今天同事公司服务器上的mysql启动不了了,弄了一早上头大,昨天还是可以正常运行的,今天怎么突然就奔了呢,在shell里登陆mysql提示不存在sock,也就是msyql没有启动,但却可以使用stop命令,后续查看err日志中发现了一些问题。

阅读全文 » 1111天前
2017年09月14日

技术饭 EXPLAIN分析sql时,如何优化Using temporary ; Using filesort

EXPLAIN分析sql时,如何优化Using temporary ; Using filesort,1. 对需要查询和排序的字段要加索引。​2. 在一定环境下,left join还是比普通连接查询效率要高,但是要尽量少地连接表,并且在做连接查询时注意观察索引是否起了作用。3. 排序尽量对第一个表的索引字段进行,可以避免mysql创建临时表,这是非常耗资源的。

阅读全文 » 1114天前
2017年09月12日

技术饭 mysql性能分析及explain的用法

mysql性能分析及explain的用法,本文我们主要介绍了MySQL性能分析以及explain的使用,包括:组合索引、慢查询分析、MYISAM和INNODB的锁定、MYSQL的事务配置项等,用来分析mysql语句的查询性能方面还是有很大的帮助的。

阅读全文 » 1114天前
2017年09月12日

技术饭 SQLyog Enterprise常用快捷键

SQLyog Enterprise常用快捷键,作为比较早期的mysql数据库管理工具,还是蛮好使用的,但是要习惯使用方式才会好用,现在一直在用 SQLyog Enterprise,但是很多快捷键没有使用好,今天整理一番,供学习参考交流。

阅读全文 » 1114天前
2017年09月12日

技术饭 php7环境下带mysql_开头的php方法都不能使用了

php7环境下带mysql_开头的php方法都不能使用了,奇怪了之前后台备份数据库功能都是可以的,怎么升级成php7之后报了404错误,我靠不对劲啊,还是排查下代码,调试之后发现是mysql_get_client_info函数undefined,竟然说mysql_get_client_info函数不存在......

阅读全文 » 1143天前
2017年08月13日

技术饭 centos7下php7、mysql5.7、nginx、redis、git、svn知识整理

centos7下php7、mysql5.7、nginx、redis、git、svn知识整理,由于服务器linux版本过旧,很多软件都无法更新安装,所以这几天把阿里云的服务器ECS的盘进行升级,将老版本的aliyun系统换成了centos7系统,网站、博客都down了几天,同时也整理了一些基础知识,分享一下!

阅读全文 » 1143天前
2017年08月13日

技术饭 MySQL如何查询每一个栏目下价格最高的商品?

MySQL如何查询每一个栏目下价格最高的商品?这里是使用子查询中group by出价格最大与分类id信息,然后再上一级查询中进行数据比较筛选相应的信息,然后再进行group by操作!

阅读全文 » 1197天前
2017年06月21日

技术饭 一些常用的mysql语句收集

一些常用的mysql语句收集,我们使用SQL查询不能只使用很简单、最基础的SELECT语句查询。如果想从多个表查询比较复杂的信息,就会使用高级查询实现。常见的高级查询包括多表连接查询、内连接查询、外连接查询与组合查询等。

阅读全文 » 1296天前
2017年03月14日

技术饭 Mysql 多表count查询

Mysql 多表count查询,这两天在做成就系统,成就中有很多维度都和数量有关,比如用户粉丝数达到多少50个,授予 名扬四海 称号,用户点赞达到 100 次,授予 点赞圣手 称号等等。

阅读全文 » 1296天前
2017年03月14日

技术饭 mysql:某个时间段每一天的统计数据

mysql:某个时间段每一天的统计数据,在一个系统的统计模块,经常会遇到根据日期来统计某个时间段内,每一天获取的数据量。一般情况下,看到这种需求都是考虑使用函数来搞定,所以我根据网上找到的资料,将解决办法搬了过来

阅读全文 » 1296天前
2017年03月14日

技术饭 MySQL数据库的常用函数

MySQL数据库的常用函数,包括: 数学函数; 字符串函数; 日期和时间函数; 条件判断函数; 系统信息函数; 加密函数; 格式化函数;

阅读全文 » 1296天前
2017年03月13日

技术饭 关于php里MySQL操作的buffer相关介绍

关于php里MySQL操作的buffer相关介绍,php与mysql的连接有三种方式,mysql,mysqli,pdo。不管使用哪种方式进行连接,都有使用buffer和不使用buffer的区别。

阅读全文 » 1298天前
2017年03月11日