MySQL创建数据库与创建用户以及授权
来源:互联网 发布:手机淘宝无法登录 编辑:程序博客网 时间:2024/06/05 23:43
1、create schema [数据库名称] default character set utf8 collate utf8_general_ci;–创建数据库
采用create schema和create database创建数据库的效果一样。
2、create user ‘[用户名称]’@’%’ identified by ‘[用户密码]’;–创建用户
密码8位以上,包括:大写字母、小写字母、数字、特殊字符
%:匹配所有主机,该地方还可以设置成‘localhost’,代表只能本地访问,例如root账户默认为‘localhost‘
3、grant select,insert,update,delete,create on [数据库名称].* to [用户名称];–用户授权数据库
*代表整个数据库
4、flush privileges ;–立即启用修改
5、revoke all on . from tester;–取消用户所有数据库(表)的所有权限
6、delete from mysql.user where user=’tester’;–删除用户
7、drop database [schema名称|数据库名称];–删除数据库
前言:mysql创建用户的方法分成三种:INSERT USER表的方法、CREATE USER的方法、GRANT的方法。
一、账号名称的构成方式
账号的组成方式:用户名+主机(所以可以出现重复的用户名,跟其他的数据库不一样)
用户名:16字符以内.
主机名:可以用主机名和IP地址,也可以用通配符
通配符说明:172.18.10.%(IP地址为172.18.10段的所有IP地址都可以访问)
二、通过CREATE USER命令进行创建用户
脚本:CREATE USER ‘username’@’host’ [IDENTIFIED BY ‘PASSWORD’] 其中密码是可选项;
例子:CREATE USER ‘john’@’192.168.189.71’ IDENTIFIED BY “123”;
CREATE USER ‘john’@’192.168.189.%’ IDENTIFIED BY “123”;
CREATE USER ‘john’@’ %’ ;
说明:该方法创建出来的用户只有连接数据库的权限,需要后续继续授权;
授权方式参照另一文:
http://www.cnblogs.com/wbq-wyw/p/5753096.html
三、通过GRANT命令创建用户
个人习惯一般用这种方法进行创建用户,当数据库存在用户的时候GRANT会对用户进行授权,但当数据库不存在该用户的时候,就会创建相应的用户并进行授权。(说明上面那步是多余的)
脚本:
GRANT
其他的两种方法只是有助于理解数据库的原理而已;
在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。
如果要清空表中的所有记录,可以使用下面的两种方法:
DELETE FROM table1
TRUNCATE TABLE table1
其中第二条记录中的TABLE是可选的。
如果要删除表中的部分记录,只能使用DELETE语句。
DELETE FROM table1 WHERE …;
如果DELETE不加WHERE子句,那么它和TRUNCATE TABLE是一样的,但它们有一点不同,那就是DELETE可以返回被删除的记录数,而TRUNCATE TABLE返回的是0。
如果一个表中有自增字段,使用TRUNCATE TABLE和没有WHERE子句的DELETE删除所有记录后,这个自增字段将起始值恢复成1.如果你不想这样做的话,可以在DELETE语句中加上永真的WHERE,如WHERE 1或WHERE true。
DELETE FROM table1 WHERE 1;
上面的语句在执行时将扫描每一条记录。但它并不比较,因为这个WHERE条件永远为true。这样做虽然可以保持自增的最大值,但由于它是扫描了所有的记录,因此,它的执行成本要比没有WHERE子句的DELETE大得多。
DELETE和TRUNCATE TABLE的最大区别是DELETE可以通过WHERE语句选择要删除的记录。但执行得速度不快。而且还可以返回被删除的记录数。而TRUNCATE TABLE无法删除指定的记录,而且不能返回被删除的记录。但它执行得非常快。
和标准的SQL语句不同,DELETE支持ORDER BY和LIMIT子句,通过这两个子句,我们可以更好地控制要删除的记录。如当我们只想删除WHERE子句过滤出来的记录的一部分,可以使用LIMIB,如果要删除后几条记录,可以通过ORDER BY和LIMIT配合使用。假设我们要删除users表中name等于”Mike”的前6条记录。可以使用如下的DELETE语句:
DELETE FROM users WHERE name = ‘Mike’ LIMIT 6;
一般mysql并不确定删除的这6条记录是哪6条,为了更保险,我们可以使用ORDER BY对记录进行排序。
DELETE FROM users WHERE name = ‘Mike’ ORDER BY id DESC LIMIT 6;
- MySQL创建数据库与用户以及授权
- MySQL创建数据库与创建用户以及授权
- MySQL创建数据库与创建用户以及授权
- MySQL创建数据库与创建用户以及授权
- MySQL创建数据库与创建用户以及授权
- mysql创建用户以及授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- MySQL创建用户与授权
- 命名空间 extern的用法 static全局变量
- 进程间关系
- Mac下关于The "android" command is deprecated.问题解决
- 0和5
- Android--初识Kotlin以及Android Studio3.0的新特性
- MySQL创建数据库与创建用户以及授权
- UWA助力独立游戏开发!《江湖X:汉家江湖》性能诊断精讲!
- 一文了解强化学习
- [集群搭建]记录使用docker搭建elasticsearch集群
- 【HTTPS服务器配置】----Nginx配置
- 母函数(在他人讲解的基础上添些自己的理解)
- 【人工智能】正经说-自然语言处理(1)
- 阿里java编码规范(三)控制语句,注释规约
- 表单校验