MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】

1、显示数据库

SHOW DATABASES;显示数据库

SHOW DATABASES;

mysql - 用户权限相关数据
sys - 数据库的相关配置存放的表
information_schema MySQL本身架构相关数据
performance_schema主要用于收集数据库服务器性能参数

2、创建数据库

CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建一个utf-8编码数据库

CREATE DATABASE jxiou DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; 创建一个gbk编码数据库

CREATE DATABASE jxioujjj DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

3、使用数据库

USE 数据库名称; 选定一个指定的数据库

USE jxiou

SHOW TABLES;显示当前使用的数据库中所有表

SHOW TABLES;

4、删除数据库

drop database 数据库名称;  删除一个指定的数据库

drop database jxioujjj;

5、用户管理

注意:默认的root用户是超级管理员

创建用户

  create user '用户名'@'IP地址' identified by '密码';  创建一个用户

create user 'xyhu'@'127.0.0.1' identified by '279819';

查看MYSQL数据库中所有用户

  SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

删除用户

  drop user '用户名'@'IP地址';

drop user 'xyhu'@'127.0.0.1';

修改用户名

  rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

rename user 'xyhu'@'127.0.0.1' to 'xyhuuu'@'127.0.0.1';

修改密码

  set password for '用户名'@'IP地址' = Password('新密码');

set password for 'root'@'localhost' = Password('279819');

6、授权管理

PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)

查看用户权限

  show grants for '用户'@'IP地址';  查看一个指定用户权限

show grants for 'root'@'localhost';

查看用户授权数据表结构

  select * from mysql.user where user='用户名' \G;  查看用户授权数据表结构

//注:\G为按列显示数据
select * from mysql.user where user='root' \G;

权限表说明


all privileges  除grant外的所有权限,除授权外的所有权限
Select_priv:用户可以通过SELECT命令选择数据。允许查看
Insert_priv:用户可以通过INSERT命令插入数据;允许查看和写入数据
Update_priv:用户可以通过UPDATE命令修改现有数据;
Delete_priv:用户可以通过DELETE命令删除现有数据;
Create_priv:用户可以创建新的数据库和表;
Drop_priv:用户可以删除现有数据库和表;
Reload_priv:用户可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表;重新加载权限表;
Shutdown_priv:用户可以关闭MySQL服务器;在将此权限提供给root账户之外的任何用户时,都应当非常谨慎;
Process_priv:用户可以通过SHOW PROCESSLIST命令查看其他用户的进程;服务器管理;
File_priv:用户可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令;加载服务器上的文件;
Grant_priv:用户可以将已经授予给该用户自己的权限再授予其他用户(任何用户赋予全部已有权限);
References_priv;目前只是某些未来功能的占位符;现在没有作用;
Index_priv:用户可以创建和删除表索引;用索引查询表;
Alter_priv:用户可以重命名和修改表结构;
Show_db_priv:用户可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库;可以考虑对所有用户禁用这个权限,除非有特别不可抗拒的原因;
Super_priv:用户可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用SET GLOBAL修改全局MySQL变量,执行关于复制和日志的各种命令;超级权限;
Create_tmp_table_priv:用户可以创建临时表;
Lock_tables_priv:用户可以使用LOCK TABLES命令阻止对表的访问/修改;
Execute_priv:用户可以执行存储过程;此权限只在MySQL 5.0及更高版本中有意义;
Repl_slave_priv:用户可以读取用于维护复制数据库环境的二进制日志文件;此用户位于主系统中,有利于主机和客户机之间的通信;主服务器管理;
Repl_client_priv:用户可以确定复制从服务器和主服务器的位置;从服务器管理;
Create_view_priv:用户可以创建视图;此权限只在MySQL 5.0及更高版本中有意义;
Show_view_priv:用户可以查看视图或了解视图如何执行;此权限只在MySQL 5.0及更高版本中有意义;
Create_routine_priv:用户可以更改或放弃存储过程和函数;此权限是在MySQL 5.0中引入的;
Alter_routine_priv:用户可以修改或删除存储函数及函数;此权限是在MySQL 5.0中引入的;
Create_user_priv:用户可以执行CREATE USER命令,这个命令用于创建新的MySQL账户;
Event_priv:用户能否创建、修改和删除事件;这个权限是MySQL 5.1.6新增的;
Trigger_priv:用户能否创建和删除触发器,这个权限是MySQL 5.1.6新增的;
Create_tablespace_priv:创建表空间
ssl_type:支持ssl标准加密安全字段
ssl_cipher:支持ssl标准加密安全字段
x509_issuer:支持x509标准字段
x509_subject:支持x509标准字段
max_questions:0 每小时允许执行多少次查询
max_updates:0 每小时可以执行多少次更新 :0表示无限制
max_connections:0 每小时可以建立的多少次连接:0表示无限制
max_user_connections:0 单用户可以同时具有的连接数:0表示无限制
plugin:5.5.7开始,mysql引入plugins以进行用户连接时的密码验证,plugin创建外部/代理用户
authentication_string:通过authentication_string可以控制两者的映射关系,(PAM plugin等,PAM可以支持多个服务名)尤其是在使用代理用户时,并须声明这一点
password_expired:密码过期 Y,说明该用户密码已过期 N相反

给用户授权

  grant  权限(对照上面权限表) on 数据库(要授权的数据库名称).表(数据库里的那张表) to   '用户'@'IP地址';

对于目标数据库授权
数据库名.* 数据库中的所有
数据库名.表 指定数据库中的某张表
数据库名.存储过程 指定数据库中的存储过程
*.* 所有数据库 对于用户IP授权
  用户名@IP地址 用户只能在改IP下才能访问
用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
用户名@% 用户可以再任意IP下访问(默认IP地址为%) 列如: grant all privileges on db1.tb1 TO '用户名'@'IP' grant select on db1.* TO '用户名'@'IP' grant select,insert on *.* TO '用户名'@'IP'
grant all privileges on *.* to 'xyhuuu'@'127.0.0.1';

给用户取消权限

  revoke 权限(对照上面权限表) on 数据库(要授权的数据库名称).表(数据库里的那张表) from '用户'@'IP地址';

对于目标数据库授权
数据库名.* 数据库中的所有
数据库名.表 指定数据库中的某张表
数据库名.存储过程 指定数据库中的存储过程
*.* 所有数据库 对于用户IP授权
  用户名@IP地址 用户只能在改IP下才能访问
用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
用户名@% 用户可以再任意IP下访问(默认IP地址为%)
revoke all privileges on *.* from 'xyhuuu'@'127.0.0.1';

  

第二百七十六节,MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】的更多相关文章

  1. 第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表、课程评论表、用户收藏表、用户消息表、用户学习表

    第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表.课程评论表.用户收藏表.用户消息表.用户学习表 创建名称为ap ...

  2. 第二百七十五节,MySQL数据库安装和介绍

    MySQL数据库安装 一.概述 1.什么是数据库 ? 答:数据的仓库,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一种 ...

  3. 第二百七十九节,MySQL数据库-pymysql模块操作数据库

    MySQL数据库-pymysql模块操作数据库 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数使用方式: 模块名称.connec ...

  4. 第二百八十六节,MySQL数据库-MySQL事务操作(回滚)

    MySQL数据库-MySQL事务操作(回滚) 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性. 举例:有这样一张表 从表里可以看出张 ...

  5. 第二百七十八节,MySQL数据库-表内容操作

    MySQL数据库-表内容操作 1.表内容增加 insert into 表 (列名,列名...) values (值,值,值...); 添加表内容添加一条数据 insert into 表 (列名,列名. ...

  6. 第二百二十六节,jQuery EasyUI,Tree(树)组件

    jQuery EasyUI,Tree(树)组件 本节课重点了解 EasyUI 中 Tree(树)组件的使用方法,这个组件依赖于 Draggable(拖 动)和 Droppable(放置)组件. 一.加 ...

  7. 第二百七十四节,同源策略和跨域Ajax

    同源策略和跨域Ajax 什么是同源策略  尽管浏览器的安全措施多种多样,但是要想黑掉一个Web应用,只要在浏览器的多种安全措施中找到某种措施的一个漏洞或者绕过一种安全措施的方法即可.浏览器的各种保安措 ...

  8. 第二百三十六节,Bootstrap辅组类和响应式工具

    Bootstrap辅组类和响应式工具 学习要点: 1.辅组类 2.响应式工具 本节课我们主要学习一下 Bootstrap 的辅组类和响应式工具,辅助类提供了一组类来辅 组页面设计,而响应式工具则利用媒 ...

  9. 第一百七十六节,jQuery,插件

    jQuery,插件 学习要点: 1.插件概述 2.验证插件 3.自动完成插件 4.自定义插件 插件(Plugin)也成为 jQuery 扩展(Extension),是一种遵循一定规范的应用程序接口编 ...

随机推荐

  1. 雷林鹏分享:C# 泛型(Generic)

    C# 泛型(Generic) 泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候.换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法 ...

  2. Imbalance Value of a Tree CodeForces - 915F

    链接 大意: 给定树, 求树上所有链上最大值最小值之差 817D的树上版本, 用并查集维护即可. 817D由于是链的情况并查集不必压缩路径即可达到均摊$O(n)$, 该题必须压缩, 复杂度$O(nlo ...

  3. 秒杀多线程第七篇 经典线程同步 互斥量Mutex

    本文转载于:http://blog.csdn.net/morewindows/article/details/7470936 前面介绍了关键段CS.事件Event在经典线程同步问题中的使用.本篇介绍用 ...

  4. priority_queue与bfs不得不说的古寺

    前几天写到bfs,看到之前写的,突然感觉不对,后来发现自己把点权值默认当成了边权值,导致一直走不出来: 点权值嘛,就是经过这个点时,要付出这么多的代价,边权值则是经过边时付出,二者有区别滴: 边权值求 ...

  5. UVA-1533 Moving Pegs (路径寻找问题)

    Description   Venture MFG Company, Inc. has made a game board. This game board has 15 holes and thes ...

  6. 第一个 MVC 应用程序(上半部分)(《精通 ASP.NET MVC5》 的第二章)

    本章将使用 ASP.NET MVC 框架创建一个简单的数据录入应用程序. 笔者会将过程分解成一个个的步骤,以便能够看出如何构造 ASP.NET MVC 应用程序.(对于一些未进行解释的内容,笔者提供了 ...

  7. learning docker steps(2) ----- docker contailner 初次体验

    参考:https://docs.docker-cn.com/get-started/part2/ Dockerfile的内容如下所示: # 将官方 Python 运行时用作父镜像 FROM pytho ...

  8. ReentrantReadWriteLock——写写互斥(二)

    "读写" ."写读"."写写"都是同步的.互斥的 1.Service.java package ReentrantReadWriteLock ...

  9. 使用Condition配合await()和signal()实现等待/通知

    关键字Synchronized与wait()和notify()/notifyAll()结合可以实现“等待/通知”模式, Lock类的子类ReentrantLock也可以实现同样的功能,但需要借助Con ...

  10. L1-036 A乘以B

    看我没骗你吧 —— 这是一道你可以在 10 秒内完成的题:给定两个绝对值不超过 100 的整数 A 和 B,输出 A 乘以 B 的值. 输入格式: 输入在第一行给出两个整数 A 和 B(−100≤A, ...