解决mysql数据库设置远程连接权限执行grant all privileges on *.* to 'root'@'%' identified by '密码' with grant optio报错

 更新时间:2022年11月06日 11:47:21   作者:王克兵  
这篇文章主要介绍了解决mysql数据库设置远程连接权限执行grant all privileges on *.* to 'root'@'%' identified by '密码' with grant optio报错,通过本文给大家分享问题原因解析及解决方法,需要的朋友可以参考下

mysql数据库设置远程连接权限,执行grant all privileges on *.* to 'root'@'%' identified by '密码' with grant optio报错

ERROR1558 (HY000): Column count ofmysql.user is wrong. Expected 43, found 42. Created with MySQL 50556, now running 50639. Please use mysql_upgrade to fix this error.

解决办法:

使用命令:mysql_upgrade -u[username] -p[password]就可以解决。

使用mysql_upgrade对数据库的数据表结构等升级时,数据库引擎MyISAM 会做检查、修复的动作,InnoDB 执行 mysql_upgrade 没有作用。

查找MySQL的安装目录找到mysql_upgrade :

  • whereismysql_upgrade
  • cd /usr/bin/
  • ./mysql_upgrade -uroot -p123 (123为密码)

然后进入到mysql再执行权限修改即可:grant all privileges on *.* to 'root'@'%' identified by 'root4xml004a' with grant option;

如:

mysql中远程连接权限语句grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456‘ with grant optio报错

grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456‘ with grant optio

原因: mysql的版本问题,这条语句适用于MySQL8.0之前

解决: mysql8.0及以上版本需要使用以下语句:

create user root@'%' identified by '123456';
grant all privileges on *.* to root@'%' with grant option;

到此这篇关于解决mysql数据库设置远程连接权限执行grant all privileges on *.* to 'root'@'%' identified by '密码' with grant optio报错的文章就介绍到这了,更多相关mysql远程连接权限内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论