MySQL数据库总结(3)数据库的备份与恢复与破解密码,DCL用户权限查

    • 数据库备份备份数据库内容并不是备份数据库
    • 恢复数据库
    • DCL
      • 1创建用户
      • 2给用户授权
      • 3撤销授权
      • 4查看权限
      • 删除用户
    • 4如何破解数据库的密码

数据库 –> sql:备份
mysqldump -uroot -p123 mydb3>c:\a.sql –> 备份

sql –> 数据库:恢复
mysql -uroot -p123 mydb3

1. 数据库备份(备份数据库内容,并不是备份数据库!)

mysqldump –u用户名 –p密码 数据库名>生成的脚本文件路径 导出的是建表语句及inset语句

mysqldump -u用户名 -p密码 库名 表1 表2 表3 > 地址/备份文件名称 导出的是建表语句及inset语句

例如:mysqldump -uroot -p123 mydb1>C:\mydb1.sql (与mysql.exe和mysqld.exe一样, 都在bin目录下)

注意,不要打分号,不要登录mysql,直接在cmd下运行
注意,生成的脚本文件中不包含create database语句,因此在导入数据库的时候应该先创建数据库

如何导出以库为单位导出?
mysqldump -u用户名 -p密码 -B 库1 库2 库3 > 地址/备份文件名称

2. 恢复数据库

第一种方式:不登录mysql,直接在cmd下运行
针对库级的备份文件

Mysql -u用户名 -p密码 < 备份文件地址

针对表级的备份文件

Mysql -u用户名 -p密码 库名< 表级备份文件地址

例如:
先删除mydb1库,再重新创建mydb1库
mysql -uroot -p123 mydb1

第二种方式:登录mysql
//对于库级的备份文件
Mysql> source 备份文件地址

//对于表级的备份文件
Mysql>use 库名
Mysql>source 备份文件地址
 例如:
     先删除mydb1库,再重新创建mydb1库
     切换到mydb1库
     source c:\mydb1.sql

3 、DCL

一个项目创建一个用户!一个项目对应的数据库只有一个!
这个用户只能对这个数据库有权限,其他数据库你就操作不了了!

1、创建用户

CREATE USER 用户名@IP地址 IDENTIFIED BY ‘密码’;
用户只能在指定的IP地址上登录

CREATE USER 用户名@‘%’ IDENTIFIED BY ‘密码’;
用户可以在任意IP地址上登录

2、给用户授权

GRANT 权限1, … , 权限n ON 数据库.* TO 用户名@IP地址

例如;给user1用户分派在mydb1数据库上的create、alter、drop、insert、update、delete、select权限
GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb1.* TO user1@localhost;

给用户分派指定数据库上的所有权限
GRANT ALL ON 数据库.* TO 用户名@IP地址;

3、撤销授权

REVOKE 权限1, … , 权限n ON 数据库.* FROM 用户名@IP地址;

撤消指定用户在指定数据库上的指定权限
例如;REVOKE CREATE,ALTER,DROP ON mydb1.* FROM user1@localhost;
撤消user1用户在mydb1数据库上的create、alter、drop权限

4、查看权限

SHOW GRANTS FOR 用户名@IP地址
查看指定用户的权限

5. 删除用户

DROP USER 用户名@IP地址

4、如何破解数据库的密码:

1、通过任务管理器或者服务管理,关掉mysql(服务进程)

2、通过命令行+特殊参数开启mysqld
Mysqld - -skip-grant-tables

3、此时,mysqld服务进程已经打开,并且,不需要权限检查。
mysql –uroot 无密码登陆服务器

4、修改权限表
A: use mysql;
B: update user set password=password(‘11111’)where user=’root’;
C: flush privileges;

5、通过任务管理器,或服务管理,关掉mysqld服务进程

6、再次通过服务管理,打开mysql服务

7、即可用修改后的新密码登陆、

你可能感兴趣的:(数据库,mysql)