表'mysql.user'不存在:ERROR

Abi*_*ran 15 mysql

我在mysql中为java程序创建一个db.我的程序在我的朋友系统中运行良好.但是我的mysql有些问题.

查询如下:

mysql> create database sampledb;

Query OK, 1 row affected (0.00 sec)

mysql> use sampledb;

Database changed

mysql> create user zebronics identified by 'zebra123';

ERROR 1146 (42S02): Table 'mysql.user' doesn't exist
Run Code Online (Sandbox Code Playgroud)

我无法为我的db.Please帮助创建任何用户?

Mar*_*kus 42

我的解决方案是运行

mysql_upgrade -u root
Run Code Online (Sandbox Code Playgroud)

场景:我使用'homebrew upgrade'在我的Mac上更新了MySQL版本.之后,一些东西工作,但其他命令引发了问题中描述的错误.


小智 10

此处与 lxxxvi 描述的问题相同。跑步

    mysql_upgrade -u root
Run Code Online (Sandbox Code Playgroud)

允许我然后成功输入密码

    mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)

正在等待。


jnr*_*bsn 8

看起来有些东西搞砸了你的MySQL安装.该mysql.user表肯定存在.尝试在服务器上运行以下命令,在数据库中创建名为的表mysql:

mysql_install_db
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,可能是MySQL数据目录上的权限搞砸了.查看"已知良好"安装作为权限应该是什么的参考.

您也可以尝试完全重新安装MySQL.


Mar*_*k M 8

您的数据库可能已损坏。尝试检查 mysql.user 是否存在:

use mysql;
select * from user;
Run Code Online (Sandbox Code Playgroud)

如果缺少这些,您可以尝试使用重新创建表

mysql_install_db

或者您可能必须清理(完全删除它)并重新安装 MySQL。