mysql 创建用户, 分配权限, 删除用户
通过create user 命令来创建用户, 有两种方式:(只介绍通过 create user 命令, 直接往user表中插入数据的方式,这里就不说了)
创建用户的同时, 指定用户可登录的主机和密码
create user 'test_user'@'%' identified by "123";
create user 'test_user'@'localhost' identified by "123";
create user 'test_user'@'127.0.0.1' identified by "123"; 
grant all privileges on test_db.* to 'test_user'@'%';
grant select,update,delete,insert,drop on test_db.* to 'test_user'@'%';
grant all privileges on test_db.* to 'test_user'@'%' identified by '1112';
grant all privileges on test_db.* to 'test_user'@'%' with grant option;
首先解释一下创建用户的命令参数:
- 'test_user'是用户名
- @后面是指定的登录主机,- 'localhost'和- '127.0.0.1'表示只能在 本地登录;'%'表示只能在远程主机登录
- identified by后面是密码
- 友情提示: 上述命令中,用户名, 登录主机, 密码, 建议都使用 引号包起来, 防止不必要的麻烦
分配权限的命令参数:
- grant是分配权限的命令
- all privileges指所有的权限, 也可以像第二条那样, 指定某些权限给用户
- test_db.*表示 test_db库的所有表, 可以指定某个表- test_db.table1, 或者所有数据库的所有表,- *.*
- identified by指定密码, 如果不指定, 默认用创建用户的时候的密码, 或者可以不同的权限,给不同的密码, 或者不同的登录主机给不同的密码, 都是可以的
- with grant option如果带着这个参数, 表示这个被分配权限的用户, 还可以把自己的权限分配给其他人
- 用grant语句创建权限是不需要再手工刷新授权表的,因为它已经自动刷新了。
上面前三条命令只能同时使用一条, 因为create user 不能创建同名的用户
那么问题就来了, 假设通过第一条命令创建了用户, 那么这个用户就只能在远程主机上登录, 而不能在本地登录, 如果在本地登录, 会报这个错误:ERROR 1045 (28000): Access denied for user 'card_test1'@'localhost' (using password: YES)
出现这个错误有很多种情况, 据我的了解, 可能是:
- 用户没有在本地登录的权限, 也就是'card_test1'@'localhost'这个用户不存在, 因为只存在'card_test1'@'%'这个用户
- 密码不对
为了解决这个问题, 可以通过第二种方式, 也就是create user 的时候, 不分配登录主机这些参数
只创建用户, 不分配主机
1. create user test_user;
2. create user test_user identified by "123";
3. grant all privileges on test_db.* to 'test_user'@'%' identified by "1234";
4. grant all privileges on test_db.* to 'test_user'@'localhost'identified by "1235";
上面的命令, 1,2 执行一条, 单纯的创建用户, 或者同时分配密码;
然后, 3,4 两条都可以执行, 这样就能让test_user 这个用户, 既能在本地登录, 又能在远程登录, 如果 grant的时候, 设置不同的密码, 还能使在不同主机登录的同一个用户, 使用不同的密码
取消用户权限
使用 revoke 语句
revoke all on test_db.* from 'test_user'@'localhost';
这个命令就取消了 test_user 这个用户, 在本地登录时的全部权限
删除用户
drop user 'test_user'@'%';
drop user 'test_user'@'localhost';
修改指定用户的密码
update mysql.user set password=password('new_passwd') where User='test_user' and Host='%';
创建用户给用户创建权限或者修改权限, 都可以通过直接操作 mysql.user表; 注意直接操作表的话, 需要用
flush privileges;命令 刷新权限
mysql 创建用户, 分配权限, 删除用户的更多相关文章
- mysql 创建,授权,删除 用户
		1.创建用户 创建一个用户名是 lefunyun 密码是 X5A4FU8I0lKM21YPYUzP 账号 CREATE USER lefuyun@localhost IDENTIFIED BY 'X5 ... 
- Mysql创建数据库以及用户分配权限
		一.创建mysql数据库 1.创建数据库语法 --创建名称为“testdb”数据库,并设定编码集为utf8 CREATE DATABASE IF NOT EXISTS testdb DEFAULT C ... 
- MySQL添加新用户、为用户创建数据库、为新用户分配权限
		登录MySQL [root@VM_0_2_33_centos /]#mysql -u root -p 添加新用户 允许本地 IP 访问 localhost, 127.0.0.1 mysql>'; ... 
- MySQL添加用户、为用户分配权限
		登录MySQL登录本地用户 mysql -u root -p登录外网用户(需要注意服务器可能只允许本地登录,需要修改响应的配置文件) mysql -u zhrt -h 10.64.6.4 -p添加用户 ... 
- Linux下给mysql创建用户分配权限
		1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ... 
- MySQL中创建用户分配权限
		测试环境:CentOS6.8 和 MySQL5.5.4 一 需求 在项目开发的过程中可能需要开放自己的数据库给别人,但是出于安全的考虑,不能同时开放自己服务器里的其他数据库.那么可以新建一个用户,赋予 ... 
- 如何给mysql用户分配权限
		1,Mysql下创建新的用户 语法: 1.create user 用户名 identified by '密码'; 例:create user xiaogang identified by '12345 ... 
- 如何给mysql用户分配权限+增、删、改、查mysql用户
		在mysql中用户权限是一个很重析 参数,因为台mysql服务器中会有大量的用户,每个用户的权限需要不一样的,下面我来介绍如何给mysql用户分配权限吧,有需要了解的朋友可参考. 1,Mysql下创建 ... 
- SQLSever--基础学习--创建登录用户&创建数据库用户&分配权限
		如题,本文简记一下SQL Sever里面登录用户(login)的创建,数据库用户(DBUser)的创建,以及给数据库用户分配权限(Grant). 数据库有三层保护机制: 第一层:登录用户以及登录密码的 ... 
随机推荐
- java类生命周期,类的“加载,连接,初始化,使用,卸载过程”详解
			“ 如果说核心类库的 API 比做数学公式的话,那么 Java 虚拟机的知识就好比公式的推导过程” 每本Java入门书籍在介绍Java这门语言的时候都会提到Java跨平台,“一次解释,到处运行的特点“ ... 
- PHPStorm设置等号对齐
			为了代码的美观,我们常常会把代码等号设置对齐,手动对齐的效率很低,PHPStrom提供了快捷键来一键对齐. 首先设置PHPStorm 设置完PHPStorm后,使用快捷键Command+Option+ ... 
- WPF图片,DataGrid等实现圆角
			<Grid HorizontalAlignment="Center" VerticalAlignment="Center"> <Grid.Ro ... 
- bootstrap table使用colResizable后表格不能自适应
			窗口缩小放大后,b表格不能自适应,table加了宽度没效果,求教 
- Z从壹开始前后端分离【 .NET Core2.2/3.0 +Vue2.0 】框架之五 || Swagger的使用 3.3 JWT权限验证【必看】
			本文梯子 本文3.0版本文章 前言 1.如何给接口实现权限验证? 零.生成 Token 令牌 一.JWT ——自定义中间件 0.Swagger中开启JWT服务 1:API接口授权策略 2.自定义认证之 ... 
- 全栈工程师对Python面试中is和==区别的详细解说!看完真的学到了!
			面试实习生的时候,当问到 is 和 == 的区别时,很多同学都答不上来,搞不清两者什么时候返回一致,什么时候返回不一致.本文我们来看一下这两者的区别. 我们先来看几个例子: a = "hel ... 
- 为什么要学 Python? python该怎么学
			很多童鞋对为什么学习Python感到迷茫,小编来跟大家说说学习Python的10个理由,希望可以帮助到大家!!! 摘要: 看完这十个理由,我决定买本python从入门到精通! 如果你定期关注现今的科技 ... 
- JavaWeb之Cookie&Session
			Cookie 直译是:小饼干.实际上,Cookie就是由服务器给客户端,并且存储在客户端上的一份小数据 应用场景 自动登录,查看浏览记录,购物车 Cookie存在的意义 HTTP请求是无状态的,客户端 ... 
- C#与SAP系统的接口调用
			Sap作为ERP的龙头企业,在企业信息化建设中是有目共睹的,特别是财务.人力.物流等发挥着极大作用,占领着半壁江山,所以与企业系统用SAP软件的接口对接很是普遍,简单介绍一下与SAP接口的一点点儿心得 ... 
- Cesium-空间分析之通视分析(附源码下载)
			Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ... 
