创建新用户时出现Mysql问题

mr.*_*ted 5 mysql database mariadb

( SELECT DISTINCT User
                , Host 
             FROM mysql.user 
) UNION 
( SELECT DISTINCT User
                , Host
             FROM mysql.db 
) UNION 
( SELECT DISTINCT User 
                , Host 
             FROM mysql.tables_priv 
) UNION 
( SELECT DISTINCT User
                , Host 
             FROM mysql.columns_priv 
) UNION 
( SELECT DISTINCT User
                , Host 
             FROM mysql.procs_priv 
) ORDER 
     BY User ASC
      , Host ASC
Run Code Online (Sandbox Code Playgroud)

Mysql said:
`#1030 - Got error 176 "Read page with wrong checksum" from storage engine Aria`
Run Code Online (Sandbox Code Playgroud)

此处出错

Aru*_*A S 5

真的不知道问题的原因是否相同,但我用 解决了这个问题mysqlcheck。跑步

mysqlcheck -c  -u root -p --all-databases
Run Code Online (Sandbox Code Playgroud)

在终端中(运行此命令后,如果您设置了 root 密码,系统将提示您输入 root 密码)。

运行它并浏览输出,我发现问题出在数据库tables_priv中的表上mysql。所以我使用 的-r标志修复了它mysqlcheck

mysqlcheck -r mysql tables_priv -u root -p
Run Code Online (Sandbox Code Playgroud)

(再次,它会提示输入密码,请输入)。这就解决了问题。不太清楚问题的原因,但希望这可以帮助遇到同样问题的其他人。

你也可以运行

mysqlcheck -u root -p --auto-repair -c -o --all-databases
Run Code Online (Sandbox Code Playgroud)

自动修复所有损坏的表,而无需查找哪个表已损坏(不知道这是否会对任何其他表产生负面影响,因此请尝试第一个选项,如果失败则尝试此选项)。

mysqlcheck您可以从这里获取更多信息


小智 5

我也遇到了

“错误:mysqlcheck 不支持多个相互矛盾的命令”

使用以下命令发出问题

mysqlcheck -u root -p --auto-repair -c -o --all-databases
Run Code Online (Sandbox Code Playgroud)

我所做的,是因为我很懒,哈哈,是单独运行所有东西并使用-r修复而不是--auto-repair

mysqlcheck -u root -p -r --all-databases
mysqlcheck -u root -p -c --all-databases
mysqlcheck -u root -p -o --all-databases
Run Code Online (Sandbox Code Playgroud)

  • 我在 OP 中找不到此错误消息。你的答案有什么关系? (2认同)