mysql - 无法重启 MySQL Docker 容器,出现类似 `Can' t open the mysql.plugin table` 和 `Table ' mysql.user' doesn't exist` 的错误

标签 mysql docker

服务器空间不足后,Docker MySQL 的文件似乎损坏了。

尝试重新启动 mysql:5.6 容器时出现错误 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

我找不到损坏的文件,可能会删除它或修复权限。

这是一个完整的错误输出:

$ docker start -a  mysql_1
2016-11-23 10:22:17 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-11-23 10:22:17 0 [Note] mysqld (mysqld 5.6.34) starting as process 1 ...
2016-11-23 10:22:17 1 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Table 'mysql.plugin' doesn't exist
2016-11-23 10:22:17 1 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2016-11-23 10:22:17 1 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-11-23 10:22:17 1 [Note] InnoDB: The InnoDB memory heap is disabled
2016-11-23 10:22:17 1 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-11-23 10:22:17 1 [Note] InnoDB: Memory barrier is not used
2016-11-23 10:22:17 1 [Note] InnoDB: Compressed tables use zlib 1.2.8
2016-11-23 10:22:17 1 [Note] InnoDB: Using Linux native AIO
2016-11-23 10:22:17 1 [Note] InnoDB: Using CPU crc32 instructions
2016-11-23 10:22:17 1 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2016-11-23 10:22:17 1 [Note] InnoDB: Completed initialization of buffer pool
2016-11-23 10:22:17 1 [Note] InnoDB: Highest supported file format is Barracuda.
2016-11-23 10:22:17 1 [Note] InnoDB: Log scan progressed past the checkpoint lsn 49463
2016-11-23 10:22:17 1 [Note] InnoDB: Database was not shutdown normally!
2016-11-23 10:22:17 1 [Note] InnoDB: Starting crash recovery.
2016-11-23 10:22:17 1 [Note] InnoDB: Reading tablespace information from the .ibd files...
2016-11-23 10:22:17 1 [Note] InnoDB: Restoring possible half-written data pages
2016-11-23 10:22:17 1 [Note] InnoDB: from the doublewrite buffer...
InnoDB: Doing recovery: scanned up to log sequence number 1600607
2016-11-23 10:22:17 1 [Note] InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percent: 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
2016-11-23 10:22:18 1 [Note] InnoDB: 128 rollback segment(s) are active.
2016-11-23 10:22:18 1 [Note] InnoDB: Waiting for purge to start
2016-11-23 10:22:18 1 [Note] InnoDB: 5.6.34 started; log sequence number 1600607
2016-11-23 10:22:18 1 [Note] Server hostname (bind-address): '*'; port: 3306
2016-11-23 10:22:18 1 [Note] IPv6 is available.
2016-11-23 10:22:18 1 [Note]   - '::' resolves to '::';
2016-11-23 10:22:18 1 [Note] Server socket created on IP: '::'.
2016-11-23 10:22:18 1 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

最佳答案

因此需要 docker-compose rm mysql 来移除断开的连接,然后再次启动容器。

关于mysql - 无法重启 MySQL Docker 容器,出现类似 `Can' t open the mysql.plugin table` 和 `Table ' mysql.user' doesn't exist` 的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40761876/

相关文章:

mysql - 数据库设计问题和帐户删除后删除的邮件

mysql - 条件 MySql 查询

php - 这段代码有什么问题,它没有删除数据?

java - 在 Docker 容器中构建 Java Gradle 项目?

linux - 刷新 docker 容器的 net.core.somaxcomm(或任何 sysctl 属性)

php - Laravel - 如何查找外键值

php - 根据另一个表的第一个值使用PDO查询MYSQL数据库

docker - 使用 gcsfuse 安装的存储桶中的数据在 Google Cloud 实例上运行 Docker

amazon-web-services - psycopg2 不适用于 AWS Lambda 上的无服务器框架部署

python - Docker opencv3 Cmake错误