数据库的高级管理

一:数据库的备份的操作

备份数据库而定命令用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:权限的赋予

with grant option就是可以将自己的权限授予别人

语法的格式:

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

 

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

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

grant select on read_my.* to 'q10'@'localhost' identified by '000000';

 

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

MariaDB [read_my]> grant all privileges on read_my.* to 'q10'@'localhost' identified by '000000';

 

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

MariaDB [read_my]> create table tt(tno int,cno int);
Query OK, 0 rows affected (0.006 sec)

  

3:权限的收回(删除)

权限收回的话,这个用户的记录就也会被删除掉

1)收回指定权限

语法:

revoke priv_type on database.table  from 'username'@'host';

 

收回q10的插入权限

MariaDB [read_my]> revoke insert on read_my.* from 'q10'@'localhost';
Query OK, 0 rows affected (0.000 sec)

 

2)收回所有用户的权限

格式:

revoke all privileges,grant option from 'username'@'localhost';

 

参数的含义:

all privileges:所有的权限

grant option:表示向其他用户授予权限

  

 

四:总结

1:关于用户的管理

就是几个操作,创建用户,修改用户,删除用户

创建用户最常用使用到命令是grant命令,这个命令也可以赋予权限

修改用户包括2个方面,修改用户名和密码

用户名的修改使用的rename user old_user@'host' to new_user@'host';

修改密码使用的update语句,updata user 

删除用户使用的drop命令 drop user q7@'localhost'

2:权限的管理

就是赋予权限,删除权限,权限的查询

权限的查询为show grants for 'username'@'host'

权限的授予:grant priv_type on database.table to 'username'@'host' identified by password

权限的删除分为单个权限的删除,或者所有权限的删除

revoke priv_type from 'username'@'host'

所有权限的删除

revoke all privileges,grant option from 'username'@'localhost'

3:本地主机和远程主机

本地主机:

就是关于有一个mysql服务器运行在本地电脑上,在同一台电脑上,连接到本地服务器就叫做本地连接

远程主机:

就是mysql的服务器在办公室那里,你在家里就能连接到mysql服务器,就叫做远程连接

 

六:小练习

1:创建一个用户使用create语句来创建;修改用户名字;修改用户的密码,添加用户的权限,查看当前的用户的权限,收回当前的权限或者收回用户的所有权限

2:创建一个用户使用grant语句来创建建;

 

 

 

 

 

 

 

 

 

 

 

 

  

  

  

 

posted @ 2023-12-11 15:20  q_7  阅读(16)  评论(0编辑  收藏  举报