为啥我本地连接不上腾讯云的mysql

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我本地连接不上腾讯云的mysql相关的知识,希望对你有一定的参考价值。

参考技术A 授权问题,你没有允许root用户从
localhost
登录,你查看user表就明白了:
select
*
from
mysql.user
每个用户从不同主机登录的权限不同,可以设置%表示所有主机都可以登录。
你现在无法查询数据库的话,可以重启数据库服务,带上一下参数:
--skip-grant-tables

远程连接腾讯云的mysql

问题:技术图片

 

远程连接腾讯云的mysql报错。

没有权限

使用grant all privileges on来更改用户对应某些库的远程权限

mysql 赋给用户远程权限 grant all privileges on

登入:

mysql -uroot -p

输入密码

 

use mysql;

 

修改表

要查看user表中user=’root’的对应情况,根据实际需求来更改表信息

select host,user from user;
# 如果上面查询到有信息,但host为localhost或其他值,就需要根据实际需求来更新表信息
update user set host=‘%‘ where user=‘root‘ # 如果想任何的IP地址都可以使用root用户来远程登陆(注意如果上面的查询语句,查询出来有多条,就需要做一些处理,比如多加一个条件如 where user=‘root‘ and host=‘localhost‘或先删除其他人记录只保存一条user=‘root‘的记录)

查询结果

技术图片

 

修改权限

grant all privileges on 库名.表名 to ‘用户名‘@‘IP地址‘ identified by ‘密码‘ with grant option;

flush privileges;

 

库名:要远程访问的数据库名称,所有的数据库使用“*”
表名:要远程访问的数据库下的表的名称,所有的表使用“*”
用户名:要赋给远程访问权限的用户名称
IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%”
密码:要赋给远程访问权限的用户对应使用的密码

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘lxh‘ WITH GRANT OPTION; # 所有的地址都可以使用root用户,密码为lxh远程访问所有的数据库
flush privileges;
GRANT ALL PRIVILEGES ON testdb.* TO ‘lxh‘@‘172.16.52.225‘  IDENTIFIED BY ‘lxh‘ WITH GRANT OPTION; # IP为172.16.52.225的电脑可以使用lxh用户,密码为lxh远程访问数据库testdb的所有表

  

 

以上是关于为啥我本地连接不上腾讯云的mysql的主要内容,如果未能解决你的问题,请参考以下文章

为啥本地连接不上数据库而远程可以.

Navicat 8 for Mysql 为啥连接不上啊,高手帮解决一下!谢谢

为啥oracle 远程连接不上,本地可以登录?没有防火墙。服务器也ping的通

本地网络换了之后Xshell就连接不上虚拟机了,虚拟机ip段和本地网络一样,为啥还是连不上,求大神解答

mysql 本地连接得上 远程连接不上

MySQL 连接不上本地数据库