MYSQL创建普通用户和设置权限

MySQL创建用户

一、登录mysql

mysql -uroot -p  #创建用户需要root
扩展
 #其中 u是账号, 小写的p是密码, h是IP地址,  大写的P是端口
mysql -uroot -p123456  -h127.0.0.1  -P3306  

二、使用mysql数据库

use mysql;   #账户信息全部保留在myqsl数据库中
扩展
#查看当前mysql数据库里有多少用户,创建的用户信息都会保留到mysql的user表中
select user,host from user;

#user是账号信息,host允许登录的IP,修改host为%,表示任意IP地址都可以登录.
update user set host = '%'  where user = 'root';
flush privileges;     #修改权限后,刷新数据库

三、创建普通用户

方法一

1.创建用户

#其中test是账号,而test123是密码
create user test identified by 'test123';

2.创建数据库

create database  test_database;    #先创建一个数据库

3.给用户设置权限

#给用户设置权限
#all代表所有权限,这里代表只将select,update给test用户
#test_database前面创建的数据库, 后面的*代表数据库下的所有内容
#test指前面创建的test用户,@后面的"%"是设置用户的host
#即root将test_database数据库所有的权限给test用户,且任意IP地址都可以登录访问

 grant select,update on test_database.*  to  'test'@'%';
扩展

1.select、insert、update和delete权限 允许你在一个数据库现有的表上实施操作,是基本权限
2.alter权限允许你使用ALTER TABLE
3.create和drop权限允许你创建新的数据库和表,或抛弃(删除)现存的数据库和表 如果你将mysql数据库的drop权限授予一个用户,该用户能抛弃存储了MySQL存取权限的数据库!
4.grant权限允许你把你自己拥有的那些权限授给其他的用户。

方法二
# 格式:grant 权限 on 数据库.*  to  用户名@登录主机  identified by  '密码'
#创建test用户,密码为test123456,获取*(所有)数据库的所有权限,'%'(任意IP地址)都可以登录访问
grant all privileges on  *.*  to  test@'%'  identified by “test123” ; 

四、刷新数据库

mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效

flush privileges;   #刷新数据库

五、遇到的问题

SQLyog连接报错 Error No.2058 Plugin caching_sha2_password could not be loaded

ALTER USER 'test'@'localhost' IDENTIFIED BY 'test123' PASSWORD EXPIRE NEVER; #修改加密规则 
ALTER USER 'test'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test123';  #更新一下用户的密码 
FLUSH PRIVILEGES;
  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值