请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于mmall@%的问题

老师好,请问mmall@%这么设置是为了让主机以外的机器可以登录服务器的数据库吗?不这么设置客户端是不是就登录不上了呢,mmall@%和mmall@localhost代表同一个用户不同的登录权限是吧,该用户下的db们都是同一个吧。

我在客户端上使用Navicat连接虚拟机ip并且使用mmall用户登录了数据库(但是这里显示的db列表是root用户的),创建了一个db导入了mmall.sql之后几个表也生成成功了,但是为什么我在服务端看到新建的db和表都在root用户下,用mmall用户登录里面却没有创建好的表。。

正在回答 回答被采纳积分+3

1回答

Geely 2017-08-17 22:52:34
  1. 请问mmall@%这么设置是为了让主机以外的机器可以登录服务器的数据库吗?

    --是的,这个是设置远程权限,%代表地址,前面是库

  2. mmall@%和mmall@localhost代表同一个用户不同的登录权限是吧,该用户下的db们都是同一个吧。

    --是的,不同权限,localhost就是mysql的本机登录哟~登录的都是同一个db的

  3. 但是为什么我在服务端看到新建的db和表都在root用户下,用mmall用户登录里面却没有创建好的表。。

    --是不是之前用root创建过呢?可以删除掉,重新用mmall创建,另外记得给mmall这个用户的create table等各种权限哟

0 回复 有任何疑惑可以回复我~
  • 提问者 慕标908214 #1
    老师,我又仔细地看了2-23那节课,发现您通过客户端的navicat使用mmall用户远程登录虚拟机的mysql后,客户端显示的db列表也是root用户的db列表,然后您在该列表下的mmall数据库里添加了一个tabletest,然后在虚拟机上登录的root用户查看,发现新建的表也是在root的db列表里的mmall数据库下,这个和我的情况是一样的,我之后又删除了表,重新建立连接,给mmall所有权限再试了一次还是创建在了root用户下,难道navicat是无论客户端用什么用户登录上服务端的mysql,显示的都是root用户的db吗。。
    回复 有任何疑惑可以回复我~ 2017-08-18 01:40:31
  • geely老师,我grant all privileges 给mmall后,提示成功了,但我select * from mysql.user \G 后权限还是全都是N,百度了很久没找到原因
    回复 有任何疑惑可以回复我~ 2018-01-14 14:59:58
  • 额,我不赋 mmall.*,  赋*.* 就解决了
    回复 有任何疑惑可以回复我~ 2018-01-14 15:29:18
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信