MySQL数据库用户管理

MySQL数据库用户管理


引言:这篇文章内容主要讲解了MySQL数据库中数据表的操作,对于MySQL各个用户怎样进行简单的操作和授权处理

一、数据表操作

1.克隆表
1.1将数据表的数据记录生成到新的表中
create table yyy2 like yyy;
只复制格式,通过LIKE方法,复制yyy表结构生成yyy2表
例:create table zhouyok like zhoubopi;

insert into yyy2 select * from yyy;	备份数据内容
例:insert into zhouyok select * from zhoubopi;

在这里插入图片描述
在这里插入图片描述

1.2克隆表的同时克隆数据
克隆表,将数据表的数据记录生成到新的表中
create table test02 (select * from test);	复制test表数据到test02中

show create table test02\G		获取数据表的表结构、索引等信息
SELECT * from test02;

在这里插入图片描述
在这里插入图片描述

2.清空表—删除表内的所有数据
2.1delete删除表内所有数据

delete清空表后,返回的结果有删除的记录条目;

delete from yyy3

delete工作时是一行一行的删除记录数据的,如果表中有自增长字段,使用delete from删除所有记录后,再次新添加的记录会从原来最大的记录ID后面继续自增写入记录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2truncate删除
例:select * from TEST03;
truncate table TEST03;
insert into TEST03 (name,cardid) values ('wangwu','33333');
select * from TEST03

select * from xuequan;
truncate table xuequan;
insert into xuequan (qiatou_name,cardid) values('huazai',123123);
select * from xuequan;

#TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录。

在这里插入图片描述

3.创建临时表

临时表创建成功后,使用SHOW TABLES命令是看不到创建的临时表,临时表会在连接退出后被销毁,如果在退出连接之前,也可以执行增删改查等操作,例如使用drop table语句手动直接删除临时表

CREATE TEMPORARY TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);

例:create temporary table TEST04 (id int not null,name varchar(20) not null,cardid varchar(18) not null unique key,primary key (id));
show tables;

insert into TEST04 values (1,'haha','12345');	
select * from TEST04;

在这里插入图片描述

二、用户管理

CREATE USER '用户名'@'来源地址' [IDENTIFIED BY [PASSWORD] '密码'];

‘用户名’:指定将创建的用户名

‘来源地址’:指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%

‘密码’:

若使用明文密码,直接输入’密码’,插入到数据库时由Mysql自动加密;

若使用加密密码,需要先使用SELECT PASSWORD(‘密码’); 获取密文,再在语句中添加 PASSWORD ‘密文’;

若省略“IDENTIFIED BY”部分,则用户的密码将为空(不建议使用)

1.使用明文创建用户
 create user 'hx'@'localhost' identified by '123456';
 select user,authentication_string,host from user;

在这里插入图片描述
在这里插入图片描述

2.使用密文创建用户
 select password('123123');
*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1
create user 'jing'@'localhost' identified by password '*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1';
select user,authentication_string,host from user;

在这里插入图片描述

3.查看用户信息

创建后的用户保存在MySQL数据库的user表里

use mysql;
select User,authentication_string,Host from user;

在这里插入图片描述

4.重命名用户
rename user 'hx'@'localhost' to 'wen'@'localhost';
select user,authtication_string,host from user;

在这里插入图片描述

5.删除用户
drop user 'wen'@'localhost';

select user,authentication_string,host from user;

在这里插入图片描述

6.修改当前登录用户密码
set password = password('123456');

在这里插入图片描述

7.修改其他用户密码
set password for 'yong'@'localhost' = password('654321');

在这里插入图片描述

8.忘记root密码的解决方法

遗忘MySQL密码,可以按照下列方法恢复

vim /etc/my.cnf
#添加此行
skip-grant-tables

systemctl restart mysqld.service 
mysql

在这里插入图片描述
在这里插入图片描述

使用update修改root密码,刷新数据库

update mysql.user set authentication_string = password('001122') where user='root';
 
flush privileges;

在这里插入图片描述

再次修改my.cnf配置文件,注释掉/etc/my.cnf配置文件之前添加的免密登陆配置文件,并再次重启服务

mysql -uroot -p123456

在这里插入图片描述

三、数据库授权

1.用户授权
GRANT 权限列表 ON 数据库名/表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];

权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如’select’,insert.update;使用all表示所有权限,可授权执行任何操作

数据库名、表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符"*"

用户名@来源地址:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接,来源地址可以是域名、IP地址,还可以使用"%“通配符,表示某个区域或网段内的所有地址,如”%.zxc.com","192.168.50.%"等

IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串,在新建用户时,若省略"IDENTIFIED BY"部分,则用户的密码为空

权限列表

权限功能
select查询数据
insert插入数据
update更新数据
delete删除数据
create创建库、表
drop删除库、表
index建立索引
aliter更改表属性
event事件
tigger on创建触发器

允许用户在本地查询数据库中所有表的数据记录,但禁止查询其他数据库中的表记录

create temp prary tableslock tables	锁表
create view 显示视图
alter routine 修改存储过程
2.数据库授权
show grants for jing@localhost;	#查看用户权限

在这里插入图片描述

指定用户可以查看哪个数据库/表,其他数据库无权访问
grant select on wenzheng.* to jing@localhost;

在这里插入图片描述

切换用户验证
在这里插入图片描述
在这里插入图片描述

3.远程登录授权
grant all on *.* jing@localhost by '123456'

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.权限撤销
revoke select on wenzheng.8 from jing@localhost;

在这里插入图片描述

再次切换登陆,没有访问权限
在这里插入图片描述

总结

本篇内容对MySQL数据库的创建方式,进入方式,数据库/表的一些简单的管理方式进行讲解,并结合实例进行解析,克隆一个数据表的两种操作方式,但由于克隆表无法克隆索引等信息,所以在实际生产环境中也仅用于备份数据,防止误删除数据,造成不必要的损失。具体还请看文章详细内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值