数据库的高级管理

发布时间 2023-12-11 15:21:57作者: q_7

一:数据库的备份的操作

备份数据库而定命令用mysqldump

1:备份单个数据库

语法格式:

mysqldump -u username -h host -ppassword dbname[tbname1,tbname2] > filename.sql;

 

参数的意思:

username:用户名称

host:用户登录的主机名称

password:登陆密码,使用这个参数的时候,不能与-p这个选项有空格

dbname:需要备份的数据库的名称

tbname:数据库中要备份的数据表,如果没有这个参数的话,默认是备份完整的数据库,

> :将备份的内容写入到备份文件中去

filename.sql:备份文件名称,其中包含这个文件名称的路径

 

备份网上花店这个数据库,保存到d盘

 

 

 

 

 

  

 

 

 

 

二:用户的管理

创建用户,管理用户,删除用户

1:mysql中的用户

被分为2类,一个是root用户,另外一个是普通用户,root用户拥有所有的权限,普通用户只有被赋予的指定的权限

2:创建新用户

有三种创建用户的方式,create,grant,insert 这三种方式

最常见的是grant创建的方式

语法格式:

grant privileges on database.table to 'username'@'hostname' identified by 'passwd'  

 

参数的介绍:

privileges:赋予用户的权限类型

database.table 用户的权限范围,就是只能在指定的数据库和表上进行操作

username:创建的用户名

hostname:主机名,本地localhost,远程的'%'

identified by :设置用户登录服务器的密码

password:使用明文密码

 

创建一个q7的用户,拥有所有的权限,对于网上书店这个数据库

grant all privileges on 网上书店.* to 'q7'@'localhost' identified by '000000';

 

查看数据库中的用户

select host,user
from user;

 

3:删除普通用户

2种方式的删除

1)drop user 语句删除用户

语法格式:

drop user 'username'@'localhost','username1'@'localhost1';

 

可以删除单个用户和多个用户,并取消权限,使用时,必须具有drop user的权限

删除q8用户

drop user 'q8'@'localhost';

 

查看发现没有了q8这个用户

select host,user
from user;

 

 

2)delete语句删除普通用户

delete from user where host='localhost' and 'user' = 'username' 

  

使用后使用flush privileges 刷新一下用户的权限

删除q7用户

delete from user 
where host='localhost' and user='q7';

 

4:管理用户

就是对用户的名字和密码进行管理

1:修改用户的名字

格式:

rename user old_username@'host' to new)username@'host';

 

将q7用户名修改成q9

rename user 'q7'@'localhost' to 'q8'@'localhost';

 

2:修改用户密码  

root用户可以修改自己的密码,也可以修改别人的密码,普通用户只能修改自己的密码

三种方式:

第一种使用update命令的方式更新这个user表中的记录

MariaDB [mysql]> update user set password='redhat' where user='q7';

 

 

三:权限的管理

权限的管理就是指定一些用户只能只某些事情

比如,一些用户只能最select的操作,

主要就是一下几个方面,权限的查询,权限的赋予,权限的收回

1:权限的查询

语法的格式:

show grants for 'username'@'llocalhost';

 

查看root用户的权限

MariaDB [mysql]> show grants for 'root'@'localhost';

 

with grant option就是拥有全部的权限

 

2:权限的赋予

语法的格式:

grant priv_type  on database.table to 'username'@'host' identified by 'password'

 

其中priv_type就是权限的类型,就是类似于select,insert这种的去下

比如授予q10用户只有select的权限,并且创建q10的用户

 

 

 

还有就是修改当前存在的用户,比如q10用户,授予全部的权限

  

 

使用mysql -u用户 -p密码 ,来验证这个权限是否被赋予了,或者查看这个用户的权限也可以,