DCL 管理用户
DCL(Data Control Language)
使用MySQL数据库默认使用的都是 root 用户,超级管理员,拥有全部的权限。
在一个公司里面的数据库服务器上面可能同时运行这很多个项目的数据库,应该根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。
mysqld 是 MySQL 的主程序,服务器端。mysql 是 MySQL的命令行工具,客户端。

一、创建用户
1、语法
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
2、关键字说明
| 关键字 | 说明 |
| '用户名' | 将创建的用户名 |
| '主机名' | 指定该用户在哪个主机上可以登陆,如果是本地用户可用 localhost,如果想让该用户可以 从任意远程主机登陆,可以使用通配符% |
| '密码' | 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器 |
3、案例
① 创建 user1 用户,只能在 localhost 这个服务器登录 MySQL 服务器,密码为 123
create user 'user1'@'localhost' identified by '123';
② 创建 user2 用户可以在任何电脑上登录 mysql 服务器,密码为 123
create user 'user2'@'%' identified by '123';
注意:创建的用户名都在 mysql 数据库的 user 表中可以查看到,密码经过了加密。
二、删除用户
1、语法
DROP USER '用户名'@'主机名';
2、案例
删除 user2
drop user 'user2'@'%';

三、修改用户密码
1、修改管理员密码
(1)语法
mysqladmin -uroot -p password 新密码
(2)具体操作
① 将 root 管理员的新密码改成 123456
② 要求输入旧密码
③ 使用新密码登录

2、修改普通用户密码
(1)基本语法
update user set password = password('新密码') where user = '用户名'
set password for '用户名'@'主机名' = password('新密码');
注意:需要在登录 MySQL 的情况下操作,新密码要加单引号。password 是一个内置函数,对密码进行加密。
(2)具体操作
① 将 ‘user1’@‘localhost’ 的密码改成 ‘666666’
② 使用新密码登录,老密码无法使用

3、MySQL 中忘记了 root 用户的密码?
(1)使用管理员运行 cmd --> net stop mysql 停止 mysql 服务
(2)在cmd中使用无验证方式启动 mysql 服务:
mysqld --skip-grant-tables
(3)再打开新的 cmd 窗口,直接输入 mysql 命令,敲回车,就可以登录成功。
(4)然后使用 mysql 数据库
user mysql;
(5)重新设置 root 用户的密码
update user set password = password('新密码') where user = 'root';
(6)关闭上面的两个窗口
(7)打开任务管理器,手动结束 mysqld.exe 的进程
(8)以管理员打开 cmd ,重新启动 mysql 服务
net start mysql
(9)使用新密码登录
mysql -uroot -proot
四、查询用户
MySQL 数据库的用户信息都存放在 mysql 数据库中的 user表
查询所有用户语法:
user mysql;
select * from user;
注意:通配符,% 表示可以在任意主机使用用户登录数据库。
DCL 管理用户的更多相关文章
- SQL分类之DCL:管理用户、授权
DCL:管理用户.授权 SQL分类: DDL:操作数据库和表 DML:增删改表中的数据 DQL:查询表中的数据 DCL:管理用户.授权 DBA:数据库管理员 DCL:管理用户.授权 1.管理用户 1. ...
- DCL:管理用户
1. 管理用户 (1) 查询用户 MySQL把用户的数据存放在 "mysql" 数据库的 "user" 表中. SELECT * FROM user; (2) ...
- MySQL学习——管理用户权限
MySQL学习——管理用户权限 摘要:本文主要学习了使用DCL语句管理用户权限的方法. 了解用户权限 什么是用户 用户,指的就是操作和使用MySQL数据库的人.使用MySQL数据库需要用户先通过用户名 ...
- MVC4做网站后台:用户管理 —用户
这块进行用户管理,可以浏览.查询已注册的用户,修改用户资料,删除用户等.没有做添加用户,不知是否必要.列表页还是使用easyui的datagrid.这个思路跟用户组的方式差不多. 1.接口Interf ...
- 【Java EE 学习 30】【闪回】【导入导出】【管理用户安全】【分布式数据库】【数据字典】【方案】
一.闪回 1.可能的误操作 (1)错误的删除了记录 (2)错误的删除了表 (3)查询历史记录 (4)撤销已经提交了的事务. 2.对应着以上四种类型的误操作,有四种闪回类型 (1)闪回表:将表回退到过去 ...
- JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)
1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...
- 配置Tomcat6的管理用户
在Tomcat上发布war之前需要配置一个管理用户以进入上传页面,而配置就是通过修改/usr/local/tomcat6/conf/tomcat-users.xml这个文件进行的.下面是修改后的文字: ...
- 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息]
三.使用Azure AD管理用户信息 在上一章我们采用OpenID的方案和Azure AD交互进行身份验证,本章节我们继续了解如何在Azure AD中创建用户,列出用户信息,修改用户信息和删除用户信息 ...
- 关于 ASP.NET MVC 4 如果管理用户
很久没上来写博客,因为自己没写博客的日子里去学了一下OBJECTIVE-C 和 ASP.NET MVC.最近在学ASP.NET MVC 4,有个问题一直在困扰着我,就是怎样管理用SIMPLE MEMB ...
随机推荐
- 【转】Android系统中Fastboot和Recovery所扮演的角色。
Android 刷机过程中 Fastboot 和 Recovery 的作用是什么? 自己在知乎的一篇回答,,现在翻出来放到博客,希望可以解答更多人的疑惑,抑或有什么理解上的错误,也望网友指出~ 今天恰 ...
- bash 重启后台程序脚本
kill -9 `cat pid` nohup python3 -u webserver.py & echo $! > pid
- MySQL中的比较操作符<=>
对于=操作符,两个值被比较,结果是0(不相等)或者1(相等). 比较操作符<=>表示NULL安全的等价.这个比较操作符执行等价比较,和=操作符类似,但是如果两个操作数都是NULL,会返回1 ...
- implement a list using Rust
Rust果然比較複雜,在經歷了n次compile fail,終于寫成了一個 list 難點: 對Rc<>的用法不熟悉.對borrow checker不夠熟悉 有些寫法可能還不是最短的 us ...
- 清除JAVA 项目中的注释
package com.lookcoder.inschool.utils; import java.io.BufferedReader; import java.io.File; import jav ...
- postgrelsql 的 wm_concat : string_agg
string_agg,array_agg 这两个函数的功能大同小异,只不过合并数据的类型不同 array_agg(expression) 把表达式变成一个数组 一般配合 array_to_string ...
- 【err】tensorflow.python.framework.errors_impl.OutOfRangeError: RandomShuffleQueue
problem Traceback (most recent call last): File , in _do_call return fn(*args) File , in _run_fn opt ...
- [LeetCode] 253. Meeting Rooms II 会议室 II
Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...
- 在ensp上利用单臂路由实验VLAN间路由
我们为什么要设置单臂路由? 因为我们要解决不同vlan,不同网络的PC机间的通信问题~ 那它为啥叫单臂路由嘞? 单臂路由的原理时通过一台路由器,使vlan间互通数据通过路由器进行三层转发,如果在路由器 ...
- 为文献管理软件Mendeley设置代理
Mendeley由于某些原因无法在线同步,需要fq,在tools->option->connection中可以设置http代理或者sock5代理, sock5可以使用shadowsocks ...