我这个mysql启动报错啥原因呢


2023-01-05 12:58:57 4566 [Note] Plugin 'FEDERATED' is disabled.
/www/server/mysql/bin/mysqld: Table 'mysql.plugin' doesn't exist
2023-01-05 12:58:57 4566 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2023-01-05 12:58:57 4566 [Note] InnoDB: Using atomics to ref count buffer pool pages
2023-01-05 12:58:57 4566 [Note] InnoDB: The InnoDB memory heap is disabled
2023-01-05 12:58:57 4566 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2023-01-05 12:58:57 4566 [Note] InnoDB: Memory barrier is not used
2023-01-05 12:58:57 4566 [Note] InnoDB: Compressed tables use zlib 1.2.11
2023-01-05 12:58:57 4566 [Note] InnoDB: Using Linux native AIO
2023-01-05 12:58:57 4566 [Note] InnoDB: Using CPU crc32 instructions
2023-01-05 12:58:57 4566 [Note] InnoDB: Initializing buffer pool, size = 512.0M
2023-01-05 12:58:57 4566 [Note] InnoDB: Completed initialization of buffer pool
2023-01-05 12:58:57 4566 [Note] InnoDB: Highest supported file format is Barracuda.
2023-01-05 12:58:57 4566 [Note] InnoDB: Log scan progressed past the checkpoint lsn 49463
2023-01-05 12:58:57 4566 [Note] InnoDB: Database was not shutdown normally!
2023-01-05 12:58:57 4566 [Note] InnoDB: Starting crash recovery.
2023-01-05 12:58:57 4566 [Note] InnoDB: Reading tablespace information from the .ibd files...
2023-01-05 12:58:57 4566 [Note] InnoDB: Restoring possible half-written data pages 
2023-01-05 12:58:57 4566 [Note] InnoDB: from the doublewrite buffer...
InnoDB: Doing recovery: scanned up to log sequence number 1600614
2023-01-05 12:58:57 4566 [Note] InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percent: 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
2023-01-05 12:58:58 4566 [Note] InnoDB: 128 rollback segment(s) are active.
2023-01-05 12:58:58 4566 [Note] InnoDB: Waiting for purge to start
2023-01-05 12:58:58 4566 [Note] InnoDB

img


mysql Linux 云服务器,内存不够后增加内存后,无法启动

报错写的很清楚:Can't open the mysql.plugin table. Please run mysql_upgrade to create it.,执行一下mysql_upgrade 命令

感觉像是你吧数据库里 mysql 库的plugin表删了,执行mysql_upgrade 命令可以重建这个表
如果上面这个命令不能恢复的话,你可以看下有没有可能是mysql数据目录权限的问题。

看看这个博客,https://blog.csdn.net/m0_67401499/article/details/126470855
应该是你没初始化MySQL,导致缺少了一些关键的系统表,进而导致报错,可以试试看,希望对您有所帮助

注意,前面都没有说到第一个情况:
你应该先保存好data文件夹。

不然,你操作有问题的话,那数据就丢失了。


你的情况,可以根据日志来排查下

2023-01-05 12:58:57 4566 [Note] Plugin 'FEDERATED' is disabled.
/www/server/mysql/bin/mysqld: Table 'mysql.plugin' doesn't exist

你说是因为内存不够导致启动不了,拓展后,出现这个问题。有几个疑问问你:
1、理论上来说,内存拓展了,数据库应该不会不可用;所以你确定拓展的是内存吗?
2、我怀疑你拓展的是硬盘的空间,按你描述的那样来看,硬盘空间不够,你进行拓展,你加盘拓展后,原来的盘并不会改变大小,从而还是会导致数据库空间不足,而数据库会有坑的地方,就是在空间不足的情况下,你关闭服务时不会把内存中的数据保存到硬盘中,
这样一来,就会导致你日志中的报错。


你看看具体情况,有疑问可以交流。

要解决此问题,首先需要检查 MySQL 服务器的错误日志。这通常是在 /var/log/mysqld.log 文件中。这应该有助于了解 MySQL 服务器在启动时遇到的问题。

另外可以试试运行 mysql_upgrade 命令来更新 MySQL 系统表,因为日志中提到了 mysql.plugin 表不存在的问题。重新初始化 MySQL 数据库,这样可能会解决这个问题。
仅供参考,望采纳,谢谢。

这个根据日志很清楚的告诉你了:

/www/server/mysql/bin/mysqld: Table 'mysql.plugin' doesn't exist

这个表不存在了


Please run mysql_upgrade to create it

原因:有可能是之前的mysql数据库并未删除导致的
解决方法:
1、mv -r /var/lib/mysql 移动数据库到别的地方;
2、rm -rf /var/lib/mysql 直接删除(最好先备份一下);这里的路径都是mysql的默认安装路径
3、service mysqld restart 重启mysql。

报错显示有张表不存在,手动创建或者用它提供给你的命令自动创建,然后再次启动,问题解决。

这个错误的原因是 MySQL 数据库的插件表结构发生了变化,但是 MySQL 服务器没有及时升级到最新版本。

要解决这个问题需要执行 mysql_upgrade 命令来更新 MySQL 数据库的插件表结构。

例如可以在 MySQL 服务器的安装目录下找到 mysql_upgrade 可执行文件,然后使用下面的命令来升级 MySQL 数据库:

./mysql_upgrade -u root -p

在执行 mysql_upgrade 命令时,MySQL 服务器必须是停止状态。如果 MySQL 服务器正在运行,您需要先停止服务器,再执行升级命令。

执行 mysql_upgrade 命令后应该能够启动 MySQL 服务器,并正常使用数据库。

看起来您的 MySQL 服务器在启动时遇到了问题。 在启动时,您会看到一条消息: "Table 'mysql.plugin' doesn't exist"。 这是因为 MySQL 期望在数据库中找到一张名为 "plugin" 的表,但是找不到该表。

解决此问题的一种方法是运行 "mysql_upgrade" 命令,该命令将检查数据库并修复所有可能的问题。 要运行 "mysql_upgrade",请打开终端并运行以下命令:

mysql_upgrade -u username -p

在运行此命令时,您将被提示输入密码。 请输入您的 MySQL 密码并按 Enter 键。 如果运行 "mysql_upgrade" 命令后 MySQL 仍然无法启动,则可能存在其他问题。 在这种情况下,您可以尝试查看 MySQL 日志文件以了解更多信息。

希望这能帮助!望采纳。

报错原因 其实已经显示了 数据表不存在

按以下步骤解决,请采纳!::
1.在安装目录创建data文件夹(如果已有,请删除里面所有文件),用于存放mysql初始化数据文件。
2.执行初始化mysql,
E:programmysql-5.7.16-winx64in>mysqld --initialize
3.重新启动数据库

望采纳!!!!!!!!!!!