相关疑难解决方法(0)

MySQL自动增量列跳了10-为什么?

我有几个表,我在其中创建了一个对象ID作为Int或Bigint,在这两种情况下,它们似乎自动递增10(即,第一个插入是对象ID 1,第二个是对象ID 11,第三个是对象ID 21等).两个问题:

  1. 为什么这样做?

  2. 那是问题吗?

mysql

38
推荐指数
4
解决办法
3万
查看次数

MySQL InnoDB auto_increment值增加2而不是1.病毒?

有一个InnoDB表,用于存储自定义构建的Web应用程序使用的博客帖子的注释.

最近我注意到注释的自动递增主键值增加了2而不是1.

我还注意到在另一个MySQL表中用于记住最后几个评论者的足迹签名(例如ip,会话ID,uagent字符串等),PHP会话的名称以"viruskinq"开头,这很奇怪,因为我认为它应该始终是十六进制的类似md5的字符串.

Google只为"viruskinq"提供了几个结果,全都是土耳其语.这很有意思,因为大约一年前,有关网站被土耳其恶棍破坏了.(我100%确定攻击者没有成功,因为我的应用程序中存在任何安全漏洞,因为当时由同一家公司托管的其他网站也被污损了.)

该站点位于共享主机上,使用Linux.

您是否认为服务器本身可能仍然受到黑客的影响?检查评论的id值显示,自今年5月以来存在这种倍增现象,但这种破坏发生在差不多一年前.

还有什么其他原因可以解释自动增量值的奇怪行为?应用程序尚未更改,在较旧的注释中,自动递增的主键值按顺序排列.

编辑:解决方案摘要

托管公司告诉我,自动增量值增加一倍的原因是因为他们使用了Master-Slave MySQL架构师,据他们说这种现象是正常的.

他们还承认,各种黑客不断攻击他们的服务器,"特别是会议",他们无法对此做任何事情.

我想我最好开始打包我的东西并转向更好的虚拟主机.

mysql innodb virus auto-increment

6
推荐指数
1
解决办法
1万
查看次数

MySQL“显示表状态”,自增不正确

我在 Mysql 中创建了一个新表,添加了一些行,但显示表的 Auto_increment 字段仍然返回 NULL。

mysql手册说:这个字段应该返回:“下一个Auto_increment值”

https://dev.mysql.com/doc/refman/8.0/en/show-table-status.html

我究竟做错了什么?

如何正确找到下一个 auto_increment 值?


重现步骤:

create table `test` (
  `id` int(5) not null auto_increment,
  `name` varchar(256),
  PRIMARY KEY(`id`)
);
Run Code Online (Sandbox Code Playgroud)

然后我运行:

show table status where name like 'test';
Run Code Online (Sandbox Code Playgroud)

结果:

Name,   Engine,   Version, ...,  Auto_increment, ... 
'test', 'InnoDB', '10',    ...,  NULL, ...
Run Code Online (Sandbox Code Playgroud)

然后我运行:

insert into test values(null,'name1');
insert into test values(null,'name2');
insert into test values(null,'name3');
Run Code Online (Sandbox Code Playgroud)

编辑:-其他插入语法-

insert into test (name) values('name4');
insert into test (name) values('name5');
insert into test (name) values('name6');
Run Code Online (Sandbox Code Playgroud)

获取表的状态

show table …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-8.0

3
推荐指数
1
解决办法
2449
查看次数

标签 统计

mysql ×3

auto-increment ×1

innodb ×1

mysql-8.0 ×1

virus ×1