关于mysql 修改账户权限的 问题

比如这一条命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
网上这条命令基本是照抄,只告诉你这个是能够 给 root用户打开远程连接并且设置远程连接密码的方法 , 但是却没有详细解读这条命令的意思,非常笼统

我想问的是 里面的 *.* 是什么意思 , 另外 这个 *.* 是什么相关的参数?能否根据环境的不同替换成别的
等了几天,难道一个能解释的都没?

用户管理
mysql>use mysql;
查看
mysql> select host,user,password from user ;
创建
mysql> create user zx_root IDENTIFIED by 'xxxxx'; //identified by 会将纯文本密码加密作为散列值存储
修改
mysql>rename user feng to newuser;//mysql 5之后可以使用,之前需要使用update 更新user表
删除
mysql>drop user newuser; //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限
更改密码
mysql> set password for zx_root =password('xxxxxx');
mysql> update mysql.user set password=password('xxxx') where user='otheruser'
查看用户权限
mysql> show grants for zx_root;
赋予权限
mysql> grant select on dmc_db.* to zx_root;
回收权限
mysql> revoke select on dmc_db.* from zx_root; //如果权限不存在会报错追问

复制粘贴,鱼目混珠,根本就没解释清楚

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-03
*.*是通配符,该用户下表示全部的库全部的表