mysql
文章平均质量分 75
资料收集库
一个佛系老白
展开
-
mysql报错:ERROR! MySQL server PID file could not be found!
这些文件是MySQL Binary Log二进制文件,主要用于数据恢复和主从服务器的主从复制。某次在linux服务器上重启mysql数据库发现各种报错,导致mysql数据库无法正常使用。其实以上的三种不同mysql报错都源于一个原因,那就是根目录磁盘满了。2、删除掉他们之后,在/etc/ 下面打开my.cnf,找到。而鉴于我并没有主从服务器,所以我决定删掉他们。3、重新启动mysql服务器,就OK了。转载 2022-09-09 10:44:34 · 879 阅读 · 1 评论 -
mysqlbinlog 工具分析binlog日志
MySQL的binlog 日志对于生产环境非常有用,任何时间对数据库的修改都会记录在binglog中;当数据发生增删改,创建数据库对象都会记录到binlog中,数据库的复制也是基于binlog进行同步数据;和SQL SERVER 数据库开启完整模式的原理一样,每一次的数据的变动都会记录在案;(对数据库的select,show这些操作不会记录在binlog)下面介绍mysqlbinlog工具查看 二进制日志内容;检查工作:1,查看是否开启binlogshow variables like转载 2021-01-17 14:06:06 · 692 阅读 · 0 评论 -
MySQL数据库datetime类型不能为空值的问题
修改mysql的配置文件:my.ini 将其只的:sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"修改为:sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"这里把STRICT_TRANS_TALBES去掉之后,重启MySQL,解决!...转载 2020-06-05 14:43:34 · 11785 阅读 · 0 评论 -
open_table和opened_table的区别
好多人在调优Mysql的时候,总是对open_tables和opend_tables两个参数分别不清。网上好多解释都是这样的:open_tables:当前打开表的数量opened_tables:当前已经打开表的数量很简单的解释,可是这两句话看起来有点类似。下面我来解释一下:open_tables:是当前在缓存中打开表的数量。opened_tables:是my...转载 2020-04-30 08:38:06 · 9073 阅读 · 0 评论 -
mysql5.7内存占用持续过高
table_open_cache指定表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。通过检查峰值时间的状态值Open_tables和Opened_tables,可以决定是否需要增加table_open_cache的值。如果你发现open_tables等于table_open_cache,并且opened_tabl...转载 2020-04-29 16:56:51 · 11161 阅读 · 0 评论 -
MySQL open_tables和opened_tables
How MySQL Opens and Closes Tables:https://dev.mysql.com/doc/refman/5.7/en/table-cache.html其他可供参考的文章有:关于表限制参数的使用:https://dba.stackexchange.com/questions/5232/mysql-table-cache-and-opened-tables关于...转载 2020-04-29 16:54:27 · 9921 阅读 · 0 评论 -
使用phpmyadmin的事件功能给Mysql添加定时任务执行SQL语句
要在phpmyadmin中给mysql添加定时任务1、首先查看计划事件是否开启:在phpmyadmin的SQL查询框中填入“show variables like '%scheduler%';”并执行当显示event_scheduler的“Value”为“ON”时,表示计划事件已开启;当显示event_scheduler的“Value”为“OFF”时,表示计划事件未开启。2、如...转载 2020-04-29 11:32:58 · 9254 阅读 · 0 评论 -
Mysql按月分表实现
分表策略参考自https://blog.csdn.net/rongwenbin/article/details/40341965,本文写的是对该策略的实现,/* 用于按日期分表,先将 原表 修改表名为 表名+日期,复制修改后的表 为原表名 */delimiter //CREATE PROCEDURE copytable (var VARCHAR(20))BEGINSET @p...转载 2020-04-29 11:31:09 · 7930 阅读 · 0 评论 -
Linux下开启MySQL慢查询日志
1、修改 mysql 的配置文件 my.cnf:2、在 [mysqld] 中添加内容:slow_query_log=TRUE #开启慢日志 slow_query_log_file=/var/log/mysql/mysql-slow.log #日志存放位置 long_query_time=5 ...转载 2020-04-28 15:25:56 · 7681 阅读 · 0 评论 -
Table is marked as crashed and should be repaired 解决办法
遇到这个问题几个敲命令轻松搞定1、首先进入mysql命令台:mysql -u root -p 回车 输入密码2、查询所有的库mysql> show databases;3、进入数据库“eduyun_2015_sp1”是库名mysql> use eduyun_2015_sp1;4、check table newabout(newabout--出现错误的表)...转载 2020-03-07 08:41:48 · 14049 阅读 · 0 评论 -
数据库卡死_一张表卡死其他表正常
博主在使用使用大量定时器任务对数据库操作的时候,中间接到一个任务,需要直接对库里的字段进行修改,随性使用了一个alter table name drop column 命令结果卡主了。卡主不要紧,我们可以使用命令来看看到底是哪个操作卡主了,然后将它kill掉1、开始,命令查看,是哪台服务器上运行了什么命令select id, db, user, host, command, time...转载 2020-01-15 14:41:45 · 11982 阅读 · 0 评论 -
关于mysql存储过程的definer的问题
由于对mysql了解不够透彻,导致对definer问题查了好久才解决问题 记录自己的一些理解! 问题描述: 在数据库写,为一个表写了一个触发器,此触发器调用一个存储过程;由公司写的一个c程序自动往该表写入数据,通过触发器转换成业务相关数据;同过root@localhost连接数据库,但提示192.168.2.%不存在 问题查找: 登录数据库,show procedure sta转载 2016-02-16 13:55:05 · 5867 阅读 · 0 评论 -
燕十八mysql基础复习
mysql复习一:复习前的准备1:确认你已安装wamp2:确认你已安装ecshop,并且ecshop的数据库名为shop二 基础知识:1.数据库的连接mysql -u -p -h-u 用户名-p 密码-h host主机2:库级知识2.1 显示数据库: show databases;2.2 选择数据库: use dbname;2.3 创建数据库: create dat...转载 2019-02-01 10:41:58 · 5723 阅读 · 0 评论 -
SQL注入攻击之 mysql_set_charset
原文地址:SQL注入攻击之mysql_set_charset(版本要求php>=5.2.3/mysqli>=5.0.7)作者:HELLO_FRANCASQL注入攻击之 mysql_set_charsetmysql_set_charset(PHP 5 >= 5.2.3)mysql_set_charset—Sets the client character se...转载 2016-09-07 10:37:24 · 6873 阅读 · 0 评论 -
PHP,MySQL的安装与配置
一、安装配置PHP1、下载Php的版本zip包之后,解压缩到指定目录。下载地址:http://www.php.net/downloads.php2、在Apache的httpd.conf文件中加入以下#Php模块加载LoadModule php5_module "D:/Software/GreenSoft/Php/php5.4.6/php5apache2_2.dll"#php.ini...转载 2015-06-30 09:57:28 · 6037 阅读 · 0 评论 -
mysql 导入数据 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题这个问题可以有2个解决方法:1.临时修改:mysql>set global max_allowed_packet=524288000;修改 #512M2.修改my.cnf,需重启mysql在 [MySQLd] 部分添加一句(如果存在,调整其值就可以):max_allowed_...转载 2016-05-30 17:05:58 · 10045 阅读 · 2 评论 -
mysql服务性能优化—my.cnf配置说明详解(16G内存)
此配置是老男孩生产线上使用的配置,在培训的时候,他给的,我在这里,对各参数添加了中文说明这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话,可以直接使用该配置参数MYSQL服务器my.cnf配置文档详解硬件:内存16G[client]port =3306socket =/data/3306/mysql.sock[mysql]no-auto-rehash[mysqld]u...转载 2016-01-15 15:38:21 · 8366 阅读 · 0 评论 -
myisamchk命令使用总结
author:saktetime:2012/02/28myisamchk命令使用总结myisamchk实用程序可以用来获得有关你的数据库表的统计信息或检查、修复、优化他们1.常用于myisamchk的检查选项--information, -i打印所检查表的统计信息。--fast,-F只检查没有正确关闭的表。--force, -f如果myisamchk发...转载 2019-11-15 14:21:58 · 9540 阅读 · 0 评论 -
MySQL查看实时执行的SQL语句(linux)
MySQL默认不能实时查看执行的SQL语句,因为这会消耗一定的资源。要开启这个功能,稍微配置一下,打开这个LOG记录就可以了。1 查看LOG功能首先,查看是否已经开启实时SQL语句记录。mysql> SHOW VARIABLES LIKE "general_log%";如下general_log值为OFF说明没有开启: +----------------...转载 2019-05-27 10:04:26 · 9506 阅读 · 0 评论 -
查看Mysql实时执行的Sql语句(windows)
最近给客户开发了基于Asp.Net mvc5 +Mysql+EF的项目,但是在EF里无法看到Mysql执行的语句之前也找到一些监控Mysql的软件但一直没有用起来,现在又遇到了问题即在EF里Mysal的查询没有结果而在Mysql里没有问题因为不知道EF生成的Mysql语句所以不知道是不是Sql的问题于是决定必须解决此问题通过半天时间的努力解决了此问题,其实很简单即开启Mysql的Log...转载 2019-05-27 10:06:21 · 5977 阅读 · 0 评论 -
MySQL中varchar最大长度是多少
MySQL 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的var...转载 2019-05-29 09:43:05 · 14341 阅读 · 0 评论 -
浅谈开启magic_quotes_gpc后的sql注入攻与防
通过启用php.ini配置文件中的相关选项,就可以将大部分想利用SQL注入漏洞的骇客拒绝于门外。 开启magic_quotes_gpc=on之后,能实现addslshes()和stripslashes()这两个函数的功能。在PHP4.0及以上的版本中,该选项默认情况下是开启的,所以在PHP4.0及以上的版本中,就算PHP程序中的参数没有进行过滤,PHP系统也会对每一个通过GET、P...转载 2018-11-22 16:13:21 · 9646 阅读 · 0 评论 -
mysql中update的low_priority
low_priority,低优先级UPDATE [LOW_PRIORITY] tbl_name SET col_name1=expr1,col_name2=expr2,...mysql中update用low_priority让update不锁定表MySQL允许你改变语句调度的优先级,它可以使来自多个客户端的查询更好地协作,这样单个客户端就不会由于锁定而等待很长时间。改变优先级还转载 2017-10-17 15:13:50 · 6075 阅读 · 0 评论 -
MySQL导入大sql 文件大小限制问题的解决
要对公司内一系统的MySQL数据库进行备份恢复,但是由于sql文件近200M,Mysql的web管理界面只允许不大于2M的sql文件导入,解决过程如下:1、由于mysql能解析sql的压缩文件,因此将200M压缩后为5M。2、默认情况下:MySQL导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,可修改php.ini参数调整:在php.ini中转载 2016-03-28 09:02:52 · 7416 阅读 · 0 评论 -
phpMyAdmin:“您应升级到 MySQL 5.5.0 或更高版本”和“PHP 5.5+ is required”的解决方法
随着phpMyAdmin的不断更新,系统对MySQL和PHP的版本要求也在不断的提高。当你安装phpMyAdmin时也许会遇到“您应升级到 MySQL 5.5.0 或更高版本”、“PHP 5.5+ is required”等,又不能马上升级到规定版本(版本升级并不是一件简单的事),但是此时又急需进行MySQL数据库管理的问题,在这里stutimes提供一个临时解决方案:一、解决类似转载 2016-02-23 14:36:13 · 15860 阅读 · 5 评论 -
SQL Select语句完整的执行顺序:
SQL Select语句完整的执行顺序:1、from子句组装来自不同数据源的数据;2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用having子句筛选分组;6、计算所有的表达式;7、使用order by对结果集进行排序。8、select 集合输出。转载 2016-02-04 15:40:08 · 5369 阅读 · 1 评论 -
sql mid()
MID() 函数MID 函数用于从文本字段中提取字符。SQL MID() 语法SELECT MID(column_name,start[,length]) FROM table_name参数描述column_name必需。要提取字符的字段。start必需。规定开始位置(起始值是 1)。len转载 2016-02-17 15:01:33 · 5329 阅读 · 0 评论 -
SQL SELECT INTO 语句
SQL SELECT INTO 语句可用于创建表的备份复件。SELECT INTO 语句SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。SQL SELECT INTO 语法您可以把所有的列插入新表:SELECT *INTO new_table_nam转载 2016-02-17 14:34:12 · 5564 阅读 · 0 评论 -
MySQL架构
麻雀虽小,五脏俱全。MySQL虽然以简单著称,但其内部结构并不简单。本章从MySQL逻辑组成,物理组成,以及相关工具这几个角度来介绍MySQL的整体架构组成,希望能够让读者对MySQL有一个更全面深入的了解。逻辑模块组成总的来说,MySQL可以看成是二层架构,第一层我们通常叫做SQL层(SQL Layer),在MySQL数据库系统处理底层数据之前的所有工作都是在这一层完成,包括权限转载 2016-01-12 20:59:43 · 5253 阅读 · 0 评论 -
DML、DDL、DCL
DML----Data Manipulation Language 数据操纵语言如insert,delete,update,select(插入、删除、修改、检索)DDL----Data Definition Language 数据库定义语言 如 create procedure之类DCL----Data Control Language 数据库控制语言如grant,de转载 2016-01-12 20:54:26 · 5145 阅读 · 0 评论 -
MySQL插入语句insert性能优化
对于一些数据量较大的系统,面临的问题除了是查询效率低下,还有一个很重要的问题就是插入时间长。当导入的数据量较大时,插入操作耗费的时间相当可观。因此,提高大数据量系统的MySQL insert效率是很有必要的。1. 一条SQL语句插入多条数据。常用的插入语句如:[sql] view plaincopyINSERT INTO转载 2015-09-28 10:18:48 · 5571 阅读 · 0 评论 -
关于MYSQL表记录字段换行符回车符处理
今天遇到一个非常奇葩的问题,数据库表中明明有值却查询不不出来,而然一次从单元格中复制到sql中,发现右侧单引号换行了,我初步判断为换行符或者回车符的问题,于是在网上找了下语句,果然有效。语句如下: UPDATE tablename SET FIELD = REPLACE(REPLACE(FIELD, CHAR(10), ''), CHAR(13), '');CHAR(转载 2016-04-10 10:59:52 · 19285 阅读 · 0 评论 -
MYSQL常用函数使用备忘录(更新中...)
·GROUP_CONCAT()该函数返回带有来自一个组的连接的非NULL值的字符串结果。[sql] view plain copySELECT GROUP_CONCAT(pid) AS pids FROM table; 返回结果如:[plain] view plain copy转载 2016-04-14 10:27:34 · 5168 阅读 · 0 评论 -
Mysql性能优化案例 - 覆盖索引分享
场景产品中有一张图片表,数据量将近100万条,有一条相关的查询语句,由于执行频次较高,想针对此语句进行优化表结构很简单,主要字段:复制代码代码如下:user_id 用户IDpicname 图片名称smallimg 小图名称一个用户会有多条图片记录现在有一个根据user_id建立的索引:uid查询语句也很简单:取转载 2017-08-10 10:40:38 · 5269 阅读 · 0 评论 -
理解MySQL数据库覆盖索引
话说有这么一个表:CREATE TABLE `user_group` ( `id` int(11) NOT NULL auto_increment, `uid` int(11) NOT NULL, `group_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `uid` (`uid`), KEY `gro转载 2017-08-10 10:37:26 · 5514 阅读 · 0 评论 -
MySQL中tinytext、text、mediumtext和longtext详解
一、数字类型类型范围说明 Char(N) [binary]N=1~255 个字元binary :分辨大小写固定长度std_name cahr(32) not nullVarChar(N) [binary]N=1~255 个字元binary :分辨大小写可变长度std_address va转载 2017-08-10 09:49:58 · 9602 阅读 · 0 评论 -
在 MySQL中,从10 万条主键不连续的数据里随机取 3000 条,如何做到高效?
看到知乎上有人提问 几百万记录的表,每天大概有10万条记录发生更新,从这10万条里随机取3000条做数据分析,select id from table where date_refresh = 20120329 order by rand() limit 0,3000这个sql执行起来会很慢,大概三四十秒吧,怎么优化?这个也算是MySQL的一个转载 2017-08-01 11:15:03 · 8142 阅读 · 0 评论 -
MySQL bin-log
1.数据恢复:如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。2.主从服务器之间同步数据:主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。 3.在什么时间会删除过期日志?每次进行 LOG flush的时会自动删除过期的日志,那么什么时间才能触发log flush,手册上的解释为:转载 2017-02-10 09:33:34 · 5295 阅读 · 0 评论 -
mysql字母数字混合排序
create temporary table T (a varchar(10)); insert into T (a) values ('88A242'),('88A106'),('88A109'),('92A129'),('92A068'),('2000A291'),('2000A216'),('2014A063'),('2014A315'); select *转载 2017-05-15 10:57:38 · 9589 阅读 · 1 评论 -
解决phpStudy中 phpmyadmin #2002 无法登录 MySQL 服务器
一直使用APMServ做php服务器,但是换到win7下阿帕奇服务器一直无法启动,本地也没有占用80端口,无奈只能够更换服务器,经过比较发现phpstudy挺不错的。可是安装好打开mysql竟然无法登陆,一直提示#2002错误。从度娘处获知是文件配置错误,表示没有连接到数据库。经过试验有如下2种方式:1.将phpMyAdmin中的config.sample.inc.php复制成co转载 2016-05-17 08:41:51 · 18237 阅读 · 0 评论