远程链接mysql之后数据库显示不全 只显示information_schema和performance_schema

环境

先说一下本机的环境 因为环境不同的话 大概率我的方法也不适用

我的mysql是8.0及以上的版本

问题描述

我正常远程连接数据库 但是一看数据库只有2个数据库 我自己创建的数据库不存在了

在这里插入图片描述

解决方法

大概率是权限问题 但是我明明是用的root去远程连接的 之前从来没有出现过这个问题 不知道回事就这样了
既然是权限问题那么我就创建一个新的具有所有权限用户就好了

下面的语法都是8.0以上的mysql使用的 5.0不一定可以

先本地root链接数据库 确保我们创建用户的权限没有问题

mysql -u root -p //本地连接数据库命令

连接成功之后 就创建用户 直接执行就好 不需要切换数据库

// 注意将下面的用户名和密码替换一下 这是创建用户和密码 之后和之前的用户名不一样
create user '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
命令解释
1.  `create user`:这是一个MySQL命令,用于创建一个新的用户。
    它告诉MySQL服务器您要执行一个用户创建操作。
2.  `'用户名'`:在单引号中指定要创建的用户名。这是您为新用户分配的名称,
   用户将使用这个名称来登录到MySQL服务器。
3.  `'@'`:这是分隔用户名和主机名的符号。在MySQL中,用户通常与特定的主机关联。
   `'@'`表示用户可以从任何主机连接到MySQL服务器。如果您希望用户只能从特定主机连接,
   可以在`'@'`后面指定主机名或IP地址。
4.  `'%'`:这个通配符表示用户可以从任何主机连接到MySQL服务器。在这种情况下,
   用户不受主机限制,可以从任何位置连接。
5.  `IDENTIFIED WITH mysql_native_password`:这部分指定了用户的身份验证插件。
   在MySQL中,身份验证插件用于验证用户的身份。`mysql_native_password`是一种常用的身份验证插件,
   它使用经典的用户名和密码方式进行身份验证。
6.  `BY '密码'`:在单引号中指定用户的密码。这是用户用来验证身份的密码。
   用户必须提供正确的密码才能成功连接到MySQL服务器。

总结起来,这条命令的目的是创建一个MySQL用户,该用户的名称是 `'用户名'`,
可以从任何主机 (`'%'`) 连接到MySQL服务器,
并且使用 `mysql_native_password` 身份验证插件进行身份验证,其密码是 `'密码'`。
这个用户现在可以用提供的用户名和密码连接到MySQL服务器。请注意,创建用户后,
还需要为其分配适当的权限以确定其可以访问和操作哪些数据库和表。

接下来就是赋予权限

grant all privileges on *.* to '用户名'@'%' with grant option;
命令解释
1.  `grant all privileges`:这部分表示您希望授予用户所有可能的权限。
    这包括对所有数据库(`*.*`)的所有表的访问权限,以及执行各种管理操作的权限。
2.  `on *.*`:这部分指定了您要授权的对象。在这里,
   `*.*` 表示所有数据库(`*`)中的所有表(`*`)。
   这意味着该用户将被授予对MySQL服务器上的所有数据库和表的权限。
3.  `to '用户名'@'%'`:这部分指定了要授予权限的用户。
   `'用户名'` 是您要授权的用户名,`'%'` 表示用户可以从任何主机连接到MySQL服务器。
   如果您只允许特定主机的用户拥有这些权限,
   您可以在 `'%'` 的位置指定特定主机的主机名或IP地址。
4.  `with grant option`:这个选项表示用户还可以授予他人与自己拥有相同权限的权限。
   这意味着该用户具有授权其他用户的权限。

当这两句命令执行完毕之后 并且都是返回的ok之后 我们就可以使用新的创建的用户来远程连接mysql了

在这里插入图片描述
在这里插入图片描述

现在数据库就可以正常访问了

结语

我这里只是提供一种解决方法和思路 现实中肯定有非常多的解决办法 而且讲道理我一开始使用root应该默认具有全部权限的 但是这并没有 还偏要我去创建一个新的用户才可以 这也是我的技术底下导致的问题 如果有同学知道这个问题怎么解决或者在过程中遇到什么新的问题也欢迎评论 我们一起讨论

最后感谢您的观看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值