Questions tagged «mysql-5.7»

1
MySQL解释中的filter的含义是什么?
如此处的MySQL文档所述: 已过滤的列指示将被表条件过滤的表行的估计百分比。也就是说,行显示了检查的行的估计数,行×过滤后的行数/ 100显示了将与以前的表连接的行数。在MySQL 5.7.3之前,如果使用EXPLAIN EXTENDED,则会显示此列。从MySQL 5.7.3开始,默认情况下启用扩展输出,并且EXTENDED关键字是不必要的。 我还是不明白。“过滤”在这里是什么意思?我们可以从本专栏获得什么信息? 例如,当我开始查询时,某些查询将显示100,而另一些则显示18或任何低于100的查询。 +-------------+-------+--------+---------+---------+------+----------+ | select_type | table | type | key | key_len | rows | filtered | +-------------+-------+--------+---------+---------+------+----------+ | PRIMARY | a | range | search | 4 | 174 | 18.00 | <-- | PRIMARY | b | eq_ref | PRIMARY | …

2
获取联接表中聚合值的增量计数
我在MySQL 5.7.22数据库中有两个表:posts和reasons。每个帖子行都有并且属于许多原因行。每个原因都有一个相关的权重,因此每个帖子都有一个相关的总权重。 对于10个重量点的每个增量(即0、10、20、30等),我希望获得总权重小于或等于该增量的帖子数。我希望这样做的结果看起来像这样: weight | post_count --------+------------ 0 | 0 10 | 5 20 | 12 30 | 18 ... | ... 280 | 20918 290 | 21102 ... | ... 1250 | 118005 1260 | 118039 1270 | 118040 总权重大致呈正态分布,有一些非常低的值和一些非常高的值(当前最大值为1277),但大部分位于中间。大约有120,000行posts,而大约有120 行reasons。每个帖子平均有5或6个原因。 表格的相关部分如下所示: CREATE TABLE `posts` ( id BIGINT PRIMARY …

1
时间戳字段的默认值无效(mysql 5.7)
编辑:从mysql 5.6更新现有数据库并执行时: UPDATE phppos_register_log SET shift_end = '2015-01-01 00:00:00' WHERE shift_end = '0000-00-00 00:00:00'; 这将产生: #1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'shift_end' at row 1 #1067 - Invalid default value for 'shift_start' 这在mysql <= 5.7中起作用。我找不到与此相关的任何文档...这是什么问题? CREATE TABLE `phppos_register_log` ( `register_log_id` int(10) NOT NULL AUTO_INCREMENT, `employee_id_open` int(10) NOT …
10 mysql  mysql-5.7 

1
InnoDB:由于缺少MLOG_CHECKPOINT而忽略重做日志
我正在使用mysql版本5.7.14(在OS X El Capitan上进行自制安装)。当mysql运行时,我的系统无法正常关闭;当我尝试启动mysql守护程序时,重新启动后,出现以下错误。 2017-02-07T10:11:42.224506Z 0 [Note] mysqld (mysqld 5.7.14) starting as process 18234 ... 2017-02-07T10:11:42.227375Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive 2017-02-07T10:11:42.228809Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2017-02-07T10:11:42.228821Z 0 [Note] InnoDB: Uses event mutexes 2017-02-07T10:11:42.228826Z 0 [Note] InnoDB: …

6
MySQL服务器上CPU系统时间占用率高
有点背景了,前段时间我们开始在我们的一个MySQL数据库上经历了很高的CPU系统时间。该数据库还受到磁盘利用率高的困扰,因此我们认为这些东西是连接的。由于我们已经计划将其迁移到SSD,因此我们认为它将解决这两个问题。 它有帮助...但是持续了很长时间。 迁移后的几周内,CPU图形如下: 但是现在我们回到了这一点: 这无处不在,没有在负载或应用程序逻辑上进行任何明显的更改。 数据库统计: MySQL版本-5.7.20 操作系统-Debian DB大小-1.2Tb 内存-700Gb CPU核心-56 窥探负载-大约5kq / s的读取,600q / s的写入(尽管选择查询通常非常复杂) 线程-50个正在运行,300个已连接 它有大约300个表,全部是InnoDB MySQL配置: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir …

2
为什么mysql使用错误的索引来按查询排序?
这是我的表,具有约10,000,000行数据 CREATE TABLE `votes` ( `subject_name` varchar(32) COLLATE utf8_unicode_ci NOT NULL, `subject_id` int(11) NOT NULL, `voter_id` int(11) NOT NULL, `rate` int(11) NOT NULL, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`subject_name`,`subject_id`,`voter_id`), KEY `IDX_518B7ACFEBB4B8AD` (`voter_id`), KEY `subject_timestamp` (`subject_name`,`subject_id`,`updated_at`), KEY `voter_timestamp` (`voter_id`,`updated_at`), CONSTRAINT `FK_518B7ACFEBB4B8AD` FOREIGN KEY (`voter_id`) REFERENCES `users` (`id`) ) …

1
从.zip安装MySQL for Windows并重置root密码
我想在我的PC(使用Windows 8.1 x64)上仅安装MySQL服务器,而没有Workbench或其他工具。所以我.zip从dev.mysql.com/downloads下载了归档文件。它是x86_64版本5.7.9(MySQL Community Server(GPL))上Win64的下载。 我将其安装为Windows服务,但没有mysql数据库information_schema。所以我执行了这个: mysql_upgrade.exe --upgrade-system-tables 并mysql创建了数据库。但是与此同时,root用户也发生了一些事情,因为我无法再访问mysql了。 因此,我决定重设此突然出现的密码(因为在此之前我没有密码)。我在官方手册中建立了以下解决方案,我像这样启动了服务器: mysqld.exe --skip-grant-tables --console 然后我mysql没有密码就打开了: mysql.exe –u root 然后尝试重置根密码: SET PASSWORD FOR 'root'@'localhost' = PASSWORD(‘passhere'); 但是我得到了这个错误: 错误1131(42000):您将MySQL作为匿名用户使用,不允许匿名用户更改密码”。 这是什么?我如何匿名?所有命令均在cmd.exe管理员下执行。 在这种情况下,我应该怎么做才能重置根密码? 更新1:我尝试检查当前用户: SELECT USER(), CURRENT_USER(); 这给出了: +--------+----------------+ | USER() | CURRENT_USER() | +--------+----------------+ | root@ | @ | +--------+----------------+ 太奇怪了,因为我这样开始mysql.exe -u root。 然后我检查了用户表: …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.