编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

一、mysql用户权限管理

MYSQL它的权限管理是很细的,可以严格到库、表、字段。

权限的划分也是很细的,如select insert update delete等等

1、创建用户

格式:create user 用户名[@主机地址] identified by '密码';

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

2、查看用户

可以使用sql从mysql库中的user表中查看

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

3、查看用户权限

格式:show grants for 用户

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

观察到

用户是允许从任何主机上连接数据库。@’%’

用户是在*.*所有库的所有表上有一个usage权限

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

4、给用户分配权限,grant

格式:grant 权限列表 [(数据表字段列表)] on 库名.表名|*.*|库名.*  to  用户 [identified by ‘密码’]  [with grant option]

注:后面可选的identified部分意思是,可以不使用create user直接使用grant创建并同时给用户分配权限

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

查看权限

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

注:用户的权限可以使用grant多次进行分配

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

 

再举一个例子,为一个新用户分配权限

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

查看用户权限,发现此用户要绑定一个主机地址一起来查看

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

 

我们现在讲解分配权限的权限问题

使用with grant option可以让用户具有分配权限的能力

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

查看feilue权限

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

feilue用户因为有分配权限的能力,可以把自己拥有的权限再分配给别人

通常做一个项目,是使用一个数据库

Grant all on shop.* to [email protected]’192.168.18.%’ identified by ‘111111’;

5、修改密码

格式1:set password=password(‘密码’)                      修改或设置自己的密码

格式2:set password for 用户=password(‘密码’)   修改或设置别人的密码

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

6、收回权限,revoke

格式:revoke 权限列表 on *.*|库名.表名|库名.* from 用户

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

再查看权限

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

权限也可以一点一点的收

7、删除用户,drop

格式:drop user 用户名

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

 

8、权限的划分和保存方式

MYSQL中,权限分为

全局:mysql.user

库:mysql.db

表:mysql.table_priv

字段:mysql.columns_priv

程序:mysql.procs_priv

二、数据的导入导出

可以分为两种方式

1、使用mysql的命令行工具

特点:导出的数据格式是sql格式

备注:此时使用的是命令行工具,不是进入MYSQL客户端

2、导出,mysqldump

格式1:mysqldump -A -uroot -p > alldb.sql

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

这是导出的有的数据库数据

格式2:mysqldump -B -uroot -p db1 db2 db3 > f:/partdb.sql

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

根据要求导出需要的数据库数据

格式3:mysqldump -uroot -p 库名 表1 表2 表3 > f:/库名.sql

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

可以导出某个库指定的数据表

3、导入,mysql

格式:

mysql -uroot -p  < 数据文件1.sql

mysql -uroot -p 库名 < 数据文件2.sql

第一种:sql文件中含有create database的语句

第二种:sql文件中不含有create database,只含有create table语句

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

4、使用SQL语句进行导入导出

导出的数据格式是没有数据表结构,只有数据的情况。

导出

导出:select * into outfile  'f:/member.txt'  from member;

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

 

增加三个参数:字段分隔符,字段数据包裹符号,换行符

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

导入

格式:load data infile 'f:/member.txt' into table member2;

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解

我是小咖

发个邀请:
如果你正好想学习php,可以与我一起交流,我的VX:feilueze333。下面资料免费赠送。

编程之路之数据库mysql(九)- mysql用户权限设置与数据批量导入导出详解