首页 > 数据库 >mysql用户管理

mysql用户管理

时间:2023-05-26 12:33:10浏览次数:35  
标签:管理 -- 用户 user mysql news 权限 localhost

1. Mysql 用户  808

mysql用户管理_mysql

其中user表的重要字段说明:

1. host: 允许登录的"位置”, localhost表示该用户只允许本机登录,也可以指定ip地址,比如:192.168.1.100

2. user: 用户名;

3. authentication string:密码,是通过mysql的password()函数加密之后的密码。

1.1 创建用户  808

create user  '用户名' @'  允许登录位置'  identified by  '密码'

说明:创建用户,同时指定密码

mysql用户管理_用户管理_02

1.2 删除用户

drop user  '用户名' @'  允许登录位置

1.1和1.2代码在E:\java学习\初级\course165\db_

user_manager
#mysql用户管理  808
-- 原因:当我们做项目开发时,可以根据不同的开发人员,赋给他相应的Mysql操作权限
-- 所以Mysql数据库管理人员(root),根据需要创建不同的用户,赋给相应的权限,供人员使用

-- 创建新的用户
-- 解读'hsp_edu'@'localhost'表示用户的完整信息,'hsp_edu'用户名 'localhost'登陆的ip
-- '123546'代表密码(存放mysql.user表时,是经过password('123456')加密后的密码)
CREATE USER 'hsp_edu'@'localhost' IDENTIFIED BY '123456'
SELECT PASSWORD('123456')-- 查新加密后的 *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
-- 查询一下mysql.user表主要字段
SELECT `host`,`user`,authentication_string
	FROM mysql.user

-- 删除用户
DROP USER 'hsp_edu'@'localhost'

1.3 用户修改密码  808  看视频演示一下就行了

修改自己的密码: 

set password = password('密码');

修改他人的密码(需要有修改用户密码权限) :

set password for   '用户名' @'登录位置' = password('密码');

2. mysql 中的权限  809

mysql用户管理_用户管理_03

3. 给用户授权

3.1 基本语法:

grant  权限列表  on  库.对象名  to   '用户名'@' 登录位置'  [identified by  '密码' ]

说明:

1,权限列表,多个权限用逗号分开

grant select on ....

grant select, delete, create on ....

grant all [privileges] on ....       //表示赋予该用户在该对象.上的所有权限

2.特别说明

 * *  : 代表本系统中的所有数据库的所有对象(表,视图,存储过程)

 . *   : 表示某个数据库中的所有数据对象(表,视图,存储过程等)

3, identified by可以省略,也可以写出,

(1)如果用户存在,就是修改该用户的密码。

(2)如果该用户不存在,就是创建该用户!

3.2 回收用户授权  809

基本语法:

revoke  权限列  on  库.对象名  from   '用户名''@''登录位置';

3.3 权限生效指令  809

如果权限没有生效,可以执行下面命令.

基本语法:

FLUSH PRIVILEGES;

3.4 练习题  809

1.创建一个用户(你的名字,拼音),密码123, 并且只可以从本地登录,不让远程登录mysql

2.创建库和表testdb下的news表, 要求:使用root用户创建

3.给用户分配查看news表和添加数据的权限

4.测试看看用户是否只有这几个权限

5. 修改密码为abc ,要求:使用root用户完成

6.重新登录

7.使用root用户删除你的用户,演示回收权限

代码在E:\java学习\初级\course165\db_

grand---在root用户
#演示用户权限的管理  809
-- 1.创建一个用户(你的名字,拼音),密码123, 并且只可以从本地登录,不让远程登录mysql
CREATE USER 'shunping'@'localhost' IDENTIFIED BY'123'

-- 2.创建库和表testdb下的news表, 要求:使用root用户创建
CREATE DATABASE testdb
CREATE TABLE news(
	id INT,
	comtent VARCHAR(32));
-- 添加一些数据
INSERT INTO news VALUES(100,'北京新闻');
SELECT *FROM news

-- 3.给用户分配查看news表和添加数据的权限
GRANT SELECT,INSERT
	ON testdb.news
	TO 'shunping'@'localhost'
-- 可以增加 update 权限
GRANT UPDATE
	ON testdb.news
	TO 'shunping'@'localhost'

-- 5. 修改密码为abc ,要求:使用root用户完成
SET PASSWORD FOR 'shunping'@'localhost' = PASSWORD('abc');

-- 6.重新登录


-- 演示回收shunping用户在teatdb表的所有权限
REVOKE SELECT,UPDATE,INSERT ON testdb.news FROM 'shunping'@'localhost'
-- 或者这样写
REVOKE ALL ON testdb.news FROM 'shunping'@'localhost'

-- 7.使用root用户删除你的用户,
DROP USER 'shunping'@'localhost'
grant2----在shunping用户
-- 这里在默认情况下,shunping用户只能看见一个默认的系统数据库  809

SELECT *FROM news
INSERT INTO news VALUES(200,'上海新闻');

-- 试试能否修改
UPDATE news 
	SET content = '成都新闻'
	WHERE id = 100  #不行没有权限
-- 给权限后可以了
UPDATE news 
	SET comtent = '成都新闻'
	WHERE id = 100

4. 细节说明  810

1.在创建用户的时候,如果不指定Host,则为% , %表示表示所有IP都有连接权限

create user xxx;

2.你也可以这样指定

create user  'xxx' @'192.168.1.%' 表示xxx用户在192.168.1.*的ip可以登录mysql

3.在删除用户的时候,如果host不是%, 需要明确指定  '用户'@'host值'

代码在E:\java学习\初级\course165\db_

user_manager

-- 用户管理的细节说明  810
-- 1.在创建用户的时候,如果不指定Host,则为% , %表示表示所有IP都有连接权限
-- create user xxx;
CREATE USER jack-- 如果不指定Host,则为% , %表示表示所有IP都有连接权限

SELECT `host`,`user`
	FROM mysql.user

-- 2.你也可以这样指定
-- create user  'xxx' @'192.168.1.%' 表示xxx用户在192.168.1.*的ip可以登录mysql
CREATE USER  'smith' @'192.168.1.%'-- 只要是192.168.1.%这一段的ip都可以登录

-- 3.在删除用户的时候,如果host不是%, 需要明确指定  '用户'@'host值'
DROP USER jack-- 默认就是 DROP USER 'jack'@'%
DROP USER 'smith'@'192.168.1.%'

SELECT `host`,`user`
	FROM mysql.user

标签:管理,--,用户,user,mysql,news,权限,localhost
From: https://blog.51cto.com/u_15784725/6354968

相关文章

  • 主流源代码管理工具—GitHub
    l Github是什么?首先,GitHub是一个面向开源及私有软件项目的托管平台,该平台于2008年4月10日正式上线,除了Git代码仓库托管及基本的Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托......
  • 数据库系列-MYSQL篇之-主从同步
    1主从同步概述mysql主从同步,即MySQLReplication,可以实现将数据从一台数据库服务器同步到多台数据库服务器。MySQL数据库自带主从同步功能,经过配置,可以实现基于库、表结构的多种方案的主从同步。可以对MySQL做主从架构并且进行读写分离,让主服务器(Master)处理写请求,从服务器(Sla......
  • MySQL中--skip-password参数作用
     MySQL中--skip-password参数探究 本篇使用客户端:mysql版本:MySQL8认证插件:mysql_native_password对于初始化数据库时,若是使用了--initialize-inscure选项,则对于用户root@localhost会使用空密码。2023-05-26T09:20:21.205673+08:006[Warning][MY-010453][Server]roo......
  • Ruby实践—用户登录
    开发环境Ruby:Ruby1.9.1Rails:Rails2.3.5Mysql:Mysql5.0.9Driver:mysql-2.8.1-x86-mingw32.gemIDE:Rubymine2.0.1 一、创建View/login在View/login下创建login.html.erb、index.html.erb、loginFail.html.erblogin.html.erb代码如下:<h1>Welcometologin!</h1><%form_tagdo%......
  • mysql创建用户及分配操作权限
    MySQL在安装时,会默认创建一个名为root的用户,该用户拥有超级权限,可以控制整个MySQL服务器,所以如果滥用root账户,对于系统来说是很不安全的。MySQL提供了以下3种方法创建用户。使用GRANT语句创建用户使用CREATEUSER语句创建用户在mysql.user表中添加用户1.使......
  • JAVA语言springboot框架实现的求职招聘管理系统
    技术架构技术框架:SpringBoot+FreeMarker+JPA+MySQL5.7运行环境:jdk8+IntelliJIDEA+maven3+宝塔面板宝塔部署教程回到IDEA,点击编辑器右侧maven图标,执行package,完成后就会在根目录里生成一个target目录,在里面会打包出一个jar文件。宝塔新建一个数据库,导入数据库文件......
  • php语言开发宝塔部署thinkphp考试平台管理系统
    技术架构PHP7.2+Thinkphp6+React+UmiJs+nginx+mysql5.7cnetos7以上+宝塔面板搭建教程1.下载源码,宝塔添加一个站点,PHP版本选择7.2。2.压缩codes后台代码目录,上传后台代码到宝塔的网站根目录当中解压缩,关闭防跨站,运行目录指向public,伪静态选择thinkphp,设置为:locat......
  • 关于MySQL的JDBC Driver加载过程详解
    在使用JDBC时,都需要提前加载对应数据库的Driver类,MySQL为例:Class.forName("com.mysql.jdbc.Driver")但是不写这句代码也可以让 com.mysql.jdbc.Driver类成功加载,这就涉及到java.sql.DriverManager类了,先看一下代码:publicclassDriverManager{//注册驱动的集合priva......
  • 5分钟搞定Linux安装Mysql5.7(简单快捷,建议收藏)
    本文记录下我近期在Linux环境下安装Mysql5.7的实践经历。服务器版本Mysql版本Centos7.65.7.321.下载Mysql下载地址:https://downloads.mysql.com/archives/community/进入页面后选择你需要的版本进行下载,这里提供了2种格式:tar.gz和tar。如果下载不方便,可以直接从我的网盘里面下......
  • MySQL常用命令
    #安装mysql后查看初始密码cat/var/log/mysqld.log#登录mysqlmysql-u[user]-p[密码]-h[远程主机ip]#本地登录可以简写为mysql-uroot-p#设置密码长度#【8.0】setglobalvalidate_password.length=6;#【5.7】setglobalvalidate_password_length=6;#设置......