【问题标题】:"Cannot load from mysql.procs_priv. The table is probably corrupted" on Osx / homebrewOsx / homebrew 上的“无法从 mysql.procs_priv 加载。表可能已损坏”
【发布时间】:2017-04-30 04:53:40
【问题描述】:

问题:

在尝试创建新的 mysql 用户时获取Cannot load from mysql.procs_priv. The table is probably corrupted

平台:OSX Yosemite、Homebrew

尝试了以下所有方法,都不起作用

  1. 升级中:mysql_upgrade -uroot -p
    • 因此我不得不使用--forceThis installation of MySQL is already upgraded to 5.7.9, use --force if you still need to run mysql_upgrade
    • 接下来我不得不使用--skip-version-check,因为:Error: Server version (5.7.18) does not match with the version of the server (5.7.9) with which this program was built/distributed. You can use --skip-version-check to skip this check.
    • 毕竟还是不行
  2. 将查询减少到最明显和taking out functions:CREATE USER 'newuser';,仍然会引发同样的错误。
  3. 修复 mysql.procs_priv 表
  4. mysql.procs_priv 中的所有char 列更改为varcharas suggested here。好吧,他建议更改为 text,但这对于核心 mysql 表来说似乎太疯狂了。

【问题讨论】:

    标签: mysql corrupt


    【解决方案1】:

    我觉得用这个会更好:

    mysql_upgrade -u root -p
    

    输入您的密码并等待几秒钟。

    【讨论】:

    • 这很好用,我不必重新安装 mysql!
    • 如果运行mysql_upgrade后有日志,更容易排查具体原因。重新安装是最后的手段。
    • 我只是使用了这个方法,之后,它允许我创建用户并授予权限......
    • 这与 OSX v10.15.7 和 mariadb v10.6.3 完美配合。之后必须重新启动系统。
    【解决方案2】:

    完全删除 mysql 并重新安装它(不到 15 分钟)。

    1.从系统中卸载并清除 MYSQL

    1. 备份数据库。
    2. 停止并终止所有 MySQL 进程。使用ps -ax | grep mysql 检查进程
    3. 卸载mysql

      brew remove mysql
      brew cleanup
      
    4. 删除所有残留文件

      sudo rm /usr/local/mysql
      sudo rm -rf /usr/local/var/mysql
      sudo rm -rf /usr/local/mysql*
      sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
      sudo rm -rf /Library/StartupItems/MySQLCOM
      sudo rm -rf /Library/PreferencePanes/My*
      
    5. 卸载以前的自动登录

      launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 
      
    6. 删除以前的配置。从/etc/hostconfig中删除MYSQLCOM=-YES-这一行

    7. 删除以前的偏好

      sudo rm -rf ~/Library/PreferencePanes/My*
      sudo rm -rf /Library/Receipts/mysql*
      sudo rm -rf /Library/Receipts/MySQL*
      sudo rm -rf /private/var/db/receipts/*mysql*
      sudo rm -rf /private/var/db/receipts/*mysql*
      sudo rm -rf /private/var/mysql
      
    8. 可选,重新启动计算机。我没有。

    2。安装 MYSQL

    1. 安装Mysql

      brew install mysql
      
    2. 设置为启动时运行

      brew services start mysql
      
    3. 确保安装安全

      mysql_secure_installation
      

    【讨论】:

    • 为我工作。我认为我的安装因为尝试 MariaDB 而搞砸了
    猜你喜欢
    • 2016-01-26
    • 2017-10-21
    • 2019-10-31
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    相关资源
    最近更新 更多