解决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远程连接权限内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Navicat Premium操作MySQL数据库(执行sql语句)

    一. Navicat 简介 1. 什么是Navicat ? Navicat是一个强大的MySQL数据库管理和开发工具.Navicat为专业开发者提供了一套强大的足够尖端的工具,但它对于新用户仍然是易于学习.Navicat,使用了极好的图形用户界面(GUI),可以让你用一种安全和更为容易的方式快速和容易地创建.组织.存取和共享信息.用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库移转到另一个数据库中(Local to

  • Navicat配置mysql数据库用户权限问题

    目录 1.创建用户 2.给新建的用户分配权限 例如1 例如2 mysql权限 总结 用数据库的时候就会遇到有多个用户,分配用户权限的情况,有些用户只读,有些用户可以读写,有些用户只能操作一个或者多个数据库,如何给mysql的用户设置权限,我这里描述一下如何用navicat图形操作分配用户权限 如果用sql grant分配权限的话,参考MYSQL数据库管理之权限管理 基本sql grant命令: 分配用户单个数据库全部权限:grant all on 数据库名.* to 用户名@’%’ identi

  • 如何设置mysql允许外部连接访问

    1.设置mysql允许外部连接访问(授权): grant all privileges on *.* to root@'%' identified by '123456' with grant option; flush privileges; 例子:查询mysql用户权限.授权.刷新使生效 select host, user from user; grant all privileges on *.* to root@'%' identified by '密码' with grant opti

  • 解决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

  • MYSQL不能从远程连接的一个解决方法(s not allowed to connect to this MySQL server)

    如果你想连接你的mysql的时候发生这个错误: 复制代码 代码如下: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 解决方法: 1. 改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从&

  • 详解MySQL开启远程连接权限

    1.登陆mysql数据库    mysql -u root -p 查看user表 mysql> use mysql; Database changed mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host         | user | password                             

  • Centos7使用yum安装MySQL及实现远程连接的方法

    Centos7使用yum安装MySQL以及如何实现远程连接,因为MySQL被Oracle收购,目前推荐使用mariadb数据库 步骤如下: 1)yum install mariadb 2) yum install mariadb-server 3) yum install mariadb-devel chmod -R 770 /var/lib/mysql systemctl restart mariadb.service 至此MySQL安装完成 初始化密码: 执行mysql命令,设置初始密码 S

  • 云服务器Ubuntu_Server_16.04.1安装MySQL并开启远程连接的方法

    1. 安装MySQL: 利用下面三条命令安装相应软件: $sudo apt-get install mysql-server $sudo apt-get install mysql-client $sudo apt-get install libmysqlclient-dev 在执行第一条命令的过程中,需要设置MySQL的root账号的密码. 利用下面的命令查看MySQL的scoket状态,若处在listen状态则表示安装成功. $sudo netstat -tap | grep mysql 2

  • MySQL开放远程连接权限的两种方法

    背景: 要求做一个评价系统,由于之前被人做过一小部分,有现成的数据库(数据库:MySQL 5.7 ,数据库软件:MySQL workbench 6.3 CE),为了省去安装数据库导出导入表的麻烦,想要直接远程连接对方数据库. 方法如下: 首先,检查要连接数据库的服务器的防火墙等是否关闭,检查与服务器连接是否通畅(方法:在cmd控制台中 输入 ping ip地址) 其次通过网上查找有两种方法: 1,改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost

  • MySQL数据库设置远程访问权限方法小结

    MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机. 1,设置访问单个数据库权限 复制代码 代码如下: mysql>grant all privileges on test.* to 'root'@'%'; 说明:设置用户名为root,密码为空,可访问数据库test 2,设置访问全部数据库权限 复制代码 代码如下: mysql>grant all privileges on *.* to 'root'

  • MySQL8.0开启远程连接权限的方法步骤

    目录 问题描述: 报错原因: 解决方法: 总结 问题描述: 开发环境:MySQL8+Centos8: 执行MySQL语句:mysql -h 180.76.XXX.XX -u root -pPassword; 报错原因: ERROR 1130 (HY000): Host ‘180.76.XXX.XX’ is not allowed to connect to this MySQL server 解决方法: 首先,检查要连接数据库的服务器的防火墙等是否关闭,检查与服务器连接是否通畅(方法:在cmd控

  • ubuntu server配置mysql并实现远程连接的操作方法

    服务器:ubuntu server 16.04 LSS 客户机:ubuntu 16.04 LTS 服务器配置 服务器安装mysql # eric @ userver in ~ [14:00:31] $ sudo apt install mysql-server install mysql-client libmysqlclient-dev 检查是否成功SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456"); # eric @ userver in

  • MySql8设置远程连接的实战记录

    目录 前言 1.登录Mysql 2. 进入mysql库 3.执行更新权限语句 4.查看权限 5.使用数据库连接工具测试链接 5.1 新建连接 5.2 数据相关信息 总结 前言 本文使用的是MySQL8.0版本,安装在centos7中,不管是在Windows还是Linux中都是通用的,基于权限修改来达到远程连接的目的 Windows与Linux同理 1.登录Mysql 打开终端控制面板,输入mysql -uroot -p你的Mysql root密码回车 Windows 按win + r 输入 cm

随机推荐