MySQL数据库授权的两种方式
方法一:grant命令创建用户并授权(针对只修改权限)
grant命令简单语法如下:
grant all privileges on dbname.* to username@localhost identified by 'passwd';
列表说明如下:
说明:上述命令是授权localhost主机上通过用户username管理dbname数据库的所有权限,密码是passwd。其中,username,dbname,passwd可根据业务的情况修改。
举例:创建yuwen用户,对test库具备所有权限,允许从localhost主机登陆管理数据库,密码为yuwen。
首先,查看下当前数据库用户情况:
mysql> select user,host from mysql.user;
然后,执行如下授权命令:
mysql> grant all on test.* to yuwen@localhost identified by 'yuwen';
最后,查看当前数据库用户情况:
mysql> select user,host from mysql.user;
查看授权用户具体权限:
mysql>show grants for yuwen@`%`;(或者mysql> show grants for yuwen@`%` \G)
说明:可以看到默认权限是usage,即连接权限,后面又增加了all权限!
==============================================================================
方法二:create和grant配合法(创建用户并修改权限)
首先创建用户username及密码passwd,授权主机localhost。
语法:create user username@localhost identified by 'passwd';
如:创建用户utest及密码test,授权主机localhost。
mysql> create user utest@localhost identified by 'utest';
然后授权localhost主机上通过用户username管理dbname数据库的所有权限,无需密码。
语法:grant all on dbname.* to username@localhost;
如:授权localhost主机上utest管理test数据库的所有权限。
mysql> grant all on test.* to utest@localhost;
查看当前用户信息:
mysql> select user,host from mysql.user;
查看utest具体权限:
mysql> show grants for utest@localhost;(或者mysql> show grants for utest@localhost\G)
mysql刷新权限命令:FLUSH PRIVILEGES;(一般用于数据库用户信息更新后)
本文来自博客园,作者:xiao智,转载请注明原文链接:https://www.cnblogs.com/yuwen01/p/16109767.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步