mysql客户端新建数据库_mysql新建数据库、新建用户及授权操作

本文详细介绍了如何使用MySQL客户端进行数据库的创建、用户创建与授权管理。步骤包括创建数据库、设置字符集,创建不同权限级别的用户,查看与更新用户权限,对用户进行增删改查权限的授予与撤销,以及删除用户等操作。同时强调了授权选项和撤销特定权限的注意事项。
摘要由CSDN通过智能技术生成

1、创建数据库

create database if not exists test176 default charset utf8 collate utf8_general_ci;

#utf8_general_cs 大小写敏感

#如果数据库test176不存在,则创建数据库test76;charset utf8 字符集默认utf8,collate utf8_general_ci 大小写不敏感

2、创建用户

create user 'username'@'ip' identified by 'password'                   #创建用户名username,密码为password的用户,只能在该IP电脑上登录

create user 'username'@'localhost' identified by 'password'      #创建用户名username,密码为password的用户,只能本地登录

create user 'username'@'%' identified by 'password'      #创建用户名username,密码为password的用户,无IP限制

create user 'username'@'%' identified by -      #创建密码为空的用户,不用密码可以登录

示例:

create user 'test'@'%' identified by 'ios'      #创建用户名为test,密码为ios的用户

3、查看执行的用户是否有放开授权的权限

select host,user,password,Grant_priv,Super_priv from mysql.user;      #查看所有用户是否有授权的权限

#给root用户放开授权的权限并提交刷新生效,客户端执行的话,执行后要重新打开一个客户端才能开始授权

UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';

FLUSH PRIVILEGES;      #提交刷新权限

4、用户授权

grant privileges on databasename.tablename to 'username'@'host'        #给用户授权,授权后的用户无给其他用户授权的权限

或者

grant privileges on databasename.tablename to 'username'@'host' with grant option;      #授权后的用户有给其他用户授权的权限

#privileges表示权限,如select,insert,update,delete,alter,drop,create,all

#databasename.tablename 表示授权的数据库名和表名,也可以是#databasename.*(所有表)或者*.*(所有库的所有表)

示例:

grant select,insert,update,delete,create,drop,alter on localmysql.* to 'test'@'%'        #%表示所有可登录的ip

#把数据库localmysql所有表的增删改查权限赋给test,不限制登录ip

grant select,insert,update on localmysql.* to 'test'@'%' with grant option;

#with grant option表示授权后的用户能授权其他用户

grant select on localmysql.* to 'test'@'%'          #%表示所有可登录的ip,表示只赋查询的权限给test用户

grant all on *.* to 'test'@'%'          #表示把所有数据库和表的所有操作权限赋权给test

#all是所有权限,*.*是所有数据库和表,test表示数据库用户,%表示不限登录IP

注意:用以上命令授权的用户无权限给其它用户授权,如果想让该用户可以授权,用以下命令:

grant privileges on databasename.tablename to 'username'@'host' WITH GRANT OPTION;

示例:

grant all on *.* to 'test'@'%' with grant option;        #授权后,用户test也有权限授权给其他用户权限

5、修改用户名或者用户密码

修改用户名:

update mysql.user set user='testing' where user='test';

FLUSH PRIVILEGES;

#修改非当前登录用户密码

set password for 'username'@'ip'=password('newpassword');

FLUSH PRIVILEGES;

示例:

set password for 'iosgd'@'%'=password('ios');        #把用户iosgd的密码修改为ios

FLUSH PRIVILEGES;

#修改当前登录用户密码

set password=password('newpassword');

示例:

set password=password('abc123');       #把当前登录的用户密码修改为abc123

6、撤销用户权限:

revoke privileges on databasename.tablename from 'username'@'host' #与授权是一样

示例:

revoke update,delete on localmysql.* from 'test'@'%';       #表示撤销test用户localmysql数据库所有表的修改、删除权限

revoke all on *.* from 'test'@'%' ;       #表示撤销test用户所有数据库、表的所有操作权限

注意点:给用户授权了select某个数据库或表的select权限时,是无法撤销的

7、删除用户

drop user 'username'@'ip';      #删除用户

示例:

drop user 'test'@'%';    #删除用户test

参考博客:https://www.cnblogs.com/zeroone/articles/2298942.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值