一、场景

我本想在MySQL5.7上执行下列语句创建一个新用户:

CREATE USER "remote"@"%" IDENTIFIED BY "123456";

结果却报了如下错误:

ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 42. Created with MySQL 50560, now running 50643. Please use mysql_upgrade to fix this error.

二、解决

根据报错内容中的Please use mysql_upgrade to fix this error。可知,可以使用mysql_upgrade命令来修复这个问题,于是到MySQL部署的主机上执行下列操作:

mysql_upgrade -u root -pmypass

耐心等待一系列升级操作(主要升级表对象)完毕,重新执行创建用户语句,结果这次OK了。

三、原因

  1. 由于MySQL安装后做了升级,核心组件升级成功,但是某些表和其他组件却没有完成升级。
  2. 之前安装了较低版本的MySQL后来卸载了,换成了更高版本版本的,但是某些旧版本的数据文件仍被新版本使用,这就存在数据和软件不完全兼容的问题。
  3. 执行mysql_upgrade命令的主要功能就是升级已存在的所有数据库实例上的表结构。

最新文章

  1. ATM-PROGRAM 关于Proprties的问题
  2. Linux cp命令使用说明
  3. BZOJ4556: [Tjoi2016&Heoi2016]字符串
  4. Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加
  5. 面向对象的JavaScript系列二,继承
  6. U6会计科目导入致对账不平
  7. python_pycharm介绍1
  8. 在你的网站实现qq登陆(php)
  9. Java Web项目(Extjs)报错三
  10. RDIFramework.NET V3.3 WinForm版新增日程管理功能模块
  11. BZOJ4668: 冷战 [并查集 按秩合并]
  12. 在Linux服务器上使用Vbox安装虚拟机
  13. linux学习第十六天 (Linux就该这么学)
  14. java8 Stream的实现原理 (从零开始实现一个stream流)
  15. IIS6 2.0 4.0 冲突解决 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\xxx' -- 'Access is denied. '
  16. Delphi 集合和字符串互转
  17. vue.js路由vue-router
  18. QT学习笔记8:QDir类及其用法总结
  19. JQuery攻略(五)表单验证
  20. 来设置IE兼容模式

热门文章

  1. Codeforces Round #615 (Div. 3) 题解
  2. [bzoj4569] [loj#2014] [Scoi2016] 萌萌哒
  3. 「 从0到1学习微服务SpringCloud 」11 补充篇 RabbitMq实现延迟消费和延迟重试
  4. python类型-序列-元组
  5. hadoop中两种上传文件方式
  6. SpringBoot系列教程之事务传递属性
  7. halfcheetch win10
  8. day05【数组】
  9. java容器(二) Map类框架图解
  10. Leetcode 题目整理-5 Valid Parentheses & Merge Two Sorted Lists