【发布时间】:2020-06-22 20:25:33
【问题描述】:
我在使用 MySQL Server 8 的 Windows 10 上遇到了一个非常奇怪的问题:
我无法启动 mysql 服务器或服务
mysqld 或 net start mysql mysql 报告缺少 data 目录(它无法写入“测试文件”)。它正在/正在查看C:\Program Files\MySQL\MySQL Server 8.0。
经过一番谷歌搜索后,我可以在运行后启动 mysql 服务器
mysqld --initialize,它确实在C:\Program Files\MySQL\MySQL Server 8.0 下创建了一个 data 文件夹并以某种方式重置了密码。不幸的是,在我连接到(我认为是)新初始化的 mysql 服务器后,我所有的数据库都消失了。
经过一番谷歌搜索后,我发现我的电脑上有以下目录:
C:\ProgramData\MySQL\MySQL Server 8.0
... 瞧 .. 在那个 Data 目录里面有文件夹,里面有我的(丢失的)数据库的名字。所以我很确定,我的数据就在那里。
但是我如何设置 mysql 服务器以使用这个正确的数据/设置。我不想使用新初始化的 mysql 服务器。
我尝试将文件夹从C:\ProgramData\MySQL\MySQL Server 8.0 复制到C:\Program Files\MySQL\MySQL Server 8.0,但没有成功。一次无法启动服务器,另一次只是忽略了数据。
我还尝试将 my.ini 复制到 C:\ProgramData\MySQL\MySQL Server 8.0 并更改 [mysqld] 下的 datadir 条目 -> 不走运。
感谢任何帮助。
更新:
以下错误和警告出现在我的“.err”文件中:
2020-03-11T19:21:10.658537Z 0 [警告] [MY-010915] [服务器] 'NO_ZERO_DATE'、'NO_ZERO_IN_DATE' 和 'ERROR_FOR_DIVISION_BY_ZERO' sql 模式应与严格模式一起使用。它们将在未来的版本中与严格模式合并。
2020-03-11T19:21:10.659813Z 0 [系统] [MY-010116] [服务器] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.19) 开始为进程4040
2020-03-11T19:21:11.340219Z 0 [警告] [MY-010068] [服务器] CA 证书 ca.pem 是自签名的。
2020-03-11T19:21:11.358861Z 0 [警告] [MY-013143] [服务器] mysql.user 的列数错误。预期 51,找到 49。该表可能已损坏
2020-03-11T19:21:11.359562Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.db 加载。该表可能已损坏!
2020-03-11T19:21:11.360108Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.tables_priv 加载。该表可能已损坏!
2020-03-11T19:21:11.360680Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.tables_priv 加载。该表可能已损坏!
2020-03-11T19:21:11.361259Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.columns_priv 加载。该表可能已损坏!
2020-03-11T19:21:11.361881Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.procs_priv 加载。该表可能已损坏!
2020-03-11T19:21:11.362474Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.procs_priv 加载。该表可能已损坏!
2020-03-11T19:21:11.363076Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.proxies_priv 加载。该表可能已损坏!
2020-03-11T19:21:11.363713Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.proxies_priv 加载。该表可能已损坏!
2020-03-11T19:21:11.364309Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.proxies_priv 加载。该表可能已损坏!
2020-03-11T19:21:11.364908Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.role_edges 加载。该表可能已损坏!
2020-03-11T19:21:11.365505Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.role_edges 加载。该表可能已损坏!
2020-03-11T19:21:11.366123Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.default_roles 加载。该表可能已损坏!
2020-03-11T19:21:11.366774Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.default_roles 加载。表可能已损坏! 2020-03-11T19:21:11.367391Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.global_grants 加载。该表可能已损坏!
2020-03-11T19:21:11.368010Z 0 [警告] [MY-013139] [服务器] 无法从 mysql.password_history 加载。表可能已损坏! 2020-03-11T19:21:11.369081Z 0 [错误] [MY-013139] [服务器] 无法从 mysql.global_grants 加载。该表可能已损坏!
2020-03-11T19:21:11.369779Z 0 [错误] [MY-010952] [服务器] 权限系统未能正确初始化。有关如何将 MySQL 升级到新版本的完整说明,请参阅 MySQL 手册中的“升级 MySQL”部分。
2020-03-11T19:21:11.371103Z 0 [错误] [MY-010119] [服务器] 中止
2020-03-11T19:21:12.355716Z 0 [系统] [MY-010910] [服务器] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: 关机完成 (mysqld 8.0.19 ) MySQL 社区服务器 - GPL。
我尝试运行 mysql_upgrade,它只是告诉我,它无法运行,因为升级工具已被弃用..
【问题讨论】:
标签: mysql windows server configuration