首页 > 数据库 >6、Mysql创建用户以及授权

6、Mysql创建用户以及授权

时间:2023-07-29 21:12:28浏览次数:35  
标签:创建 数据库 用户 t1 user Mysql db1 授权 zhangsan

文件夹就是数据库

文件就是表

数据行就是行

 

data下的mysql这个数据库里有张User表,里面保存了用户信息

 

show databases;查看所有数据库

 

use mysql;

使用这个use数据库(进入这个文件夹)

 

show tables;

查看这个数据库下所有的表(文件)

文件最后有个user,我们登陆mysql服务器的时候,它就是在这里看有没有用户名和密码的

 

select user from user;查看user表下的user列

我能不能给它创建一个用户,以后登录的时候,不但可以用root,还可以用其他的用户

 

创建用户

create user "用户名"@"IP地址" identified by "密码"; 

比如说

create user "zhangsan"@"192.168.1.1" identified by "123";

表示创建了一个用户叫zhangsan,这个用户只能在192.168.1.1这台机器上才能登录,密码是123

create user "zhangsan"@"192.168.1.%" identified by "123";

表示创建了一个用户叫zhangsan,%表示任意,表示ip是192.168.1这个前缀的都能登录,密码是123 create user 'zhangsan'@'%' identified by '123'; 表示创建了一个用户叫zhangsan,所有机器上都能登录,密码是123   创建完用户之后,我们还得授权,就是让他能看哪个目录,或者只能看哪个目录的哪个文件 也就是只能看某个数据库,或者某个数据库里的某个表 授权有2个特点: 1、给谁授权 2、权限是什么   授权 grant 权限 on 数据库.表 to "用户"@"IP地址";   grant select,insert,update on db1.t1 to "zhangsan"@"%"; 表示zhangsan这个用户在任何机器上都能对db1数据库下的t1表做查询、插入、更新   设置权限的命令叫grant on db1.* 表示查看db1目录下所有的东西,*表示这个目录下所有的文件 on *.*表示所有数据库下的所有表 如果db1下面有3个表,分别是t1、t2、t3,直接写db1.t1表示只能看db1下的t1文件,其他表都没有任何权限,看不到也做不了操作。   权限有了,接下来该说给哪个用户了 to表示给哪个用户  grant all privilleges on db1.t1 to 'zhangsan'@'%'; 表示zhangsan这个用户在任何机器上都能对db1数据库下的t1表做除了授权以外的任何权限 all privileges表示除了grant以外的所有权限 root是最高管理员,可以给某个人授权

 

连起来搞一遍

先创建用户

create user 'zhangsan'@'%' identified by '123';

接着给zhangsan授权

grant all privileges on db1.* to 'zhangsan'@'%'; 接下来我们再打开一个终端,输入下面命令 mysql -u zhangsan -p123;

 show databases我们只能看到一个db1,information_schema是相关信息的,可以忽略它

 

在公司里数据库都是dba来搞的,dba给你创建个数据库,你这个程序只能用这个数据库,再给你创建个用户,你以后用这个用户进这个数据库就行了。咱们是看不到其他数据库的

就应该是这样,如果黑客黑了你的程序,它拿到了用户名和密码,他通过用户名和密码登录进来,也只能看这个数据库,跟你公司其他业务的数据库是不是没有关系,相当于我们把数据库和数据库通过用户进行分离,真正在公司开发的时候,dba给你提供一个用户名和密码,然后你拿着用户名和密码去登录就可以了。

 

取消授权

revoke all privileges from db1.t1 to "zhangsan"@"%";

这条命令就把张三这用户关于db1下的t1文件的所有权限都取消了

 

select * from 表名;

表示查看这个表下面所有的列

select name from 表名;

只查看这个表下name这一列

select name,age,id from 表名;

要看很多列,用逗号隔开,真实显示的时候跟你数据库里写的列的顺序是没有关系的,是按照你在select后面的写的先后顺序来显示

 

标签:创建,数据库,用户,t1,user,Mysql,db1,授权,zhangsan
From: https://www.cnblogs.com/z-x-y/p/17590539.html

相关文章

  • 如何在 Django 中使用 MVT 创建一个基本项目?
    Django是一种用Python编写的流行Web框架,遵循Model-View-Template(MVT)架构模式。MVT是众所周知的Model-View-Controller(MVC)模式的变体,它提供了一种构建Web应用程序的结构化方法。了解如何在Django中使用MVT创建基本项目是开发健壮且可扩展的Web应用程序的基本步骤。在本......
  • PYTHON mysql形成分割文件
    importrandom,string,re,time,sys,hashlib,pymysql,requestsf=open("aa.txt","w")connect=pymysql.connect(user='root',password='123456',db='new',host......
  • 关于静态库的创建,以及关于 自己修改的驱动以 静态库的方式呈现。
    首先实验普通的静态库的程序。目标就是,公司的驱动最好以库的方式提供给用户。           编写一个makefile 继续在驱动中进行测试。网上的资料  这个写的是不对的。测试了半天发现没有办法去引用libxxx.a 但是可以去引用一个.o......
  • 【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES
    MySQL的加解密及压缩函数许多加密和压缩函数返回结果可能包含任意字节值的字符串。如果要存储这些结果,请使用具有VARBINARY或BLOB二进制字符串数据类型的列。这避免了删除尾随空格或转换字符集可能改变数据值的潜在问题,例如使用非二进制字符串数据类型(CHAR、VARCHAR、TEXT)时可能发......
  • MySQL慢查询解析
    文档课题:MySQL慢查询解析.数据库:mysql5.7.211、建测试表1.1、建表结构.mysql>usebooksDB;ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-ADatabasechangedCREATETABLE`t_user......
  • MYSQL的安全模式:sql_safe_updates介绍
    查看当前mysqlsession会话下的sql_safe_updatesselect@@sql_safe_updates;查看全局的配置参数sql_safe_updatesselect@@global.sql_safe_updates set[global]sql_safe_updates=1; 在update操作中:当where条件中列(column)没有索引可用且无limit限制时会拒绝更新。whe......
  • PythonNote042---pymysql使用
      简单介绍pymysql的一些操作,增改删查增先建表,再写数据至表中除查询操作外,增改删都需要commit操作,具体原理看ref.1importpandasaspdimportpymysqlimporttimeimportwarningswarnings.filterwarnings("ignore")建表con=pymysql.connect(host='localhost',......
  • mysql之find_in_Set函数
    1.语法#查询出在list中包含column2的所有行。此处list可以是字段或常量selectcolumn1fromtable_namewhereFIND_IN_SET(column2,list)2.与in的区别in后面只能跟常量,find_in_set()函数可以使用常量或字段。in是完全匹配,find_in_set()函数是精确匹配,字段值以英文”,”分隔。3.举......
  • MySQL 8.1正式发行!有哪些值得关注的新功能?
    千呼万唤始出来的新版本MySQL8.1及MySQL8.0.34于2023年7月18日正式发行。从此,MySQL将开启创新版和稳定版同时发行的阶段。MySQL8.1是MySQL的首个创新版,该版本主要增加了如下功能: 捕捉EXPLAINFORMAT=JSON输出,为EXPLAINFORMAT=JSON增加INTO选项,可以将JSON格式的输......
  • 给PHP 8和MySQL 8添加到环境变量-ThinkPHP8知识详解
    在PHPenv安装的时候,环境变量默认的PHP版本是7.4的,MySQL的版本是5.7的,要想使用ThinkPHP8来开发,就必须修改环境变量,本文就详细讲解了如果修改PHP和MySQL的环境变量。1、添加网站启动phpenv,网站,添加网站,域名,根目录,端口,PHP版本都设置好,如图:打开的网站,虽然显示的是php8.0的信息,实际上环......