如何创建新用户和授予MySQL中的权限
原创官网
http://www.howtoing.com/how-to-create-a-new-user-and-grant-permissions-in-mysql/
关于MySQL
MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。
如何创建新用户
在MySQL的教程的第1部分中,我们做了所有在MySQL中编辑root用户,拥有完全访问所有的数据库。 但是,在可能需要更多限制的情况下,可以使用自定义权限创建用户。
让我们从在MySQL shell中创建一个新用户开始:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
可悲的是,此时newuser没有权限对数据库执行任何操作。 事实上,如果newuser甚至尝试登录(使用密码,密码),他们将无法访问MySQL shell。
因此,首先要做的是为用户提供访问他们将需要的信息的权限。
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
此命令中的星号分别表示它们可以访问的数据库和表(这些命令允许用户在所有数据库和表中读取,编辑,执行和执行所有任务)。
一旦您确定了要为新用户设置的权限,请务必重新加载所有权限。
FLUSH PRIVILEGES;
您的更改现已生效。
如何授予不同的用户权限
以下是用户可以享受的其他常见可能权限的简短列表。
- ALL PRIVILEGES - 正如我们前面所看到的,这将允许MySQL用户访问指定的数据库(或者如果系统中没有选择数据库)
- CREATE-允许他们创建新的表或数据库
- DROP-允许他们删除表或数据库
- DELETE-允许他们从表中删除行
- INSERT-允许它们向表中插入行
- SELECT-允许他们使用Select命令来读取数据库
- UPDATE-允许他们更新表行
- GRANT OPTION - 允许他们授予或删除其他用户的权限
要向特定用户提供权限,可以使用此框架:
GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@'localhost’;
如果要向其授予对任何数据库或任何表的访问权限,请确保在数据库名称或表名称的地方放置星号(*)。
每次更新或更改权限时,请务必使用Flush Privileges命令。
如果您需要撤消权限,则结构与授予的结构几乎相同:
REVOKE [type of permission] ON [database name].[table name] FROM ‘[username]’@‘localhost’;
正如您可以使用DROP删除数据库一样,您可以使用DROP完全删除用户:
DROP USER ‘demo’@‘localhost’;
要测试您的新用户,请通过键入注销
quit
并使用此命令在终端中重新登录:
mysql -u [username]-p
如何创建新用户和授予MySQL中的权限的更多相关文章
- Mysql 5.6创建新用户并授权指定数据库相应权限
一.环境 Centos 6.9 Mysql 5.6.40 二.步骤 1.使用root用户登陆mysql mysql -uroot -p 输入密码: 2.创建新用户 CREATE USER 'user' ...
- oracle创建新用户并授予权限
1.同时按下WIN键+R键打开“运行”,输入cmd,回车进入命令提示符 2.输入“sqlplus”后按下回车键,提示输入用户名,输入“sys as sysdba”,按下回车,输入口令,即四-13中设置 ...
- Linux中创建新用户并赋给指定文件权限
工作中用到了,写篇日志总结一下. 创建新的用户: 第一种方式: 创建用户: adduser name 创建密码: passwd name(回车后出现修改密码的提示) 该方式创建的用户目录默认在home ...
- MySQL中实现DROP USER if EXISTS `test`,即创建新用户时检测用户是否存在
MySQL中实现DROP USER if EXISTS `test`,即创建新用户时检测用户是否存在 版权声明:本文为博主原创文章,欢迎大家转载,注明出处即可.有问题可留言,会尽快回复,欢迎探讨 ...
- Mysql创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES)
MySQL创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES) ,多半是因为存在匿名用户, ...
- mysql 权限分配及创建新用户
前言 本文主要是介绍mysql创建新用户命令及赋予权限等命令,为了便于理解,文中会给出相关示例.通常情况下,创建用户,修改mysql密码,授权,是需要有mysql里的root权限. 1.创建用户: / ...
- linux系统下mysql跳过密码验证登录和创建新用户
修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] datadir=/var/lib/mysq ...
- mysql创建新用户及新用户不能本地登陆的问题
最近在搭建hadoop集群,主节点上面安装的MySQL数据库,对着方面不熟悉,为hive.Ooize等服务统一使用的root账号和密码,为了安全一些库对于某些用户是不可见的,所以需要针对不同的服务设置 ...
- ubuntu18.04安装mysql以及重置密码创建新用户
1.安装mysqlsudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get install libm ...
随机推荐
- openssh常用命令记录
command description date ssh [user@]hostname[:port] 登录远程机器 2017-03-21 scp <local_file> <use ...
- C# 简单实现直线方程,抛物线方程(转载)
http://www.cnblogs.com/hsiang/archive/2017/01/17/6294864.html 本例子是简单的在WinForm程序中实现在坐标系中绘制直线方程,抛物线方程, ...
- 连接mysql时提示java.sql.SQLException: Access denied for user 'root'@'DESKTOP-N2B2D9A' (using password: YES)
用root连接mysql时提示:访问被拒绝 检查一下mysql server是否开启,发现后台在运行着.. 然后查了一下mysql的用户表,发现root只能运行使用本地ip(localhost或者1 ...
- P4451 [国家集训队]整数的lqp拆分
#include <bits/stdc++.h> using namespace std; typedef long long LL; inline LL read () { LL res ...
- Qt实现客户端与服务器消息发送
这里用Qt来简单设计实现一个场景,即: ①两端:服务器QtServer和客户端QtClient ②功能:服务端连接客户端,两者能够互相发送消息,传送文件,并且显示文件传送进度. 环境:VS20013+ ...
- C# 的占位符
static void Main(string[] args) { Console.WriteLine("A:{0},a:{1}",65,97); Console.ReadLine ...
- Linux系统下强制踢掉登录用户
1,利用who命令,找出用户登录的终端代号 who root pts/0 2017-03-14 22:30 (223.1.1.1) root pts/1 2 ...
- MySQL 四种事务隔离级别详解及对比--转
http://www.jb51.net/article/100183.htm 接的隔离级别.它的语法如下: ? 1 SET [SESSION | GLOBAL] TRANSACTION ISOLATI ...
- VB.NET 小程序 4
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ...
- es6之Proxy,Reflect
Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写. var proxy = new Proxy(ta ...