一、MD5算法
MD5是一种信息摘要算法,它可以将任意长度的明文字符串生成128位的哈希值。
它是单向加密,即不能被破解。但是在2004年,我国王小云女士提出了破解方法。
mysql中md5加密函数
SELECT password('root') ; --- password:md5加密函数。
SELECT PASSWORD('root'); -- *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
二、Mysql权限问题
Mysql数据库权限问题:
root :拥有所有权限(可以干任何事情)
权限账户:只拥有部分权限(CURD)例如,只能操作某个数据库的某张表
2.1 如何修改mysql的用户密码?
在mysql数据库中,有一个内置数据库,即mysql数据库。
里面有一张表专门由于用户配置 : user表。
修改表中的数据,即可操作用户的密码。
-- mysql数据库,用户配置:user表
use mysql;
SELECT * FROM USER;
-- 修改root用户密码
-- 切记:设置password时,一定要用md5加密函数password('123456')。如果没用加密函数直接改了,密码就坏了。
-- 修改完密码后,重启mysql服务。密码就变过来了。
UPDATE USER SET PASSWORD=PASSWORD('123456') WHERE USER='root';
2.2 分配权限账户
GRANT 权限 ON 数据库.表 TO '账户名'@'账户类型' IDENTIFIED BY '密码';
权限: select 、insert 、 delete 、 update 、 drop 、 create 、 all
账户类型:localhost --只能本地登录该账号
129.0.1.1 -- 只能使用这个ip登录该账号
% -- 可以本地登录、也可远程登录。
例1:
mysql客户端
-- 分配权限账户
-- 设置eric账户,密码为123456,在day16.employee这张表只可以查询。(只能本地使用eric账户)
GRANT SELECT ON day16.employee TO 'eric'@'localhost' IDENTIFIED BY '123456';
-- 给eric账户加权,密码为123456,在day16.employee这张表中,既可以查询,也可以删除。(只能本地使用eric账户)
GRANT DELETE ON day16.employee TO 'eric'@'localhost' IDENTIFIED BY '123456';
cmd命令行登录
例2:
-- 分配权限账户
-- 设置eric账户,密码为123456,在day16.employee这张表只可以查询。(不限制路径登录该账户)
GRANT SELECT ON day16.employee TO 'eric'@'%' IDENTIFIED BY '123456';
-- 给eric账户加权,密码为123456,在day16.employee这张表中,既可以查询,也可以删除。(不限制路径登录该账户)
GRANT DELETE ON day16.employee TO 'eric'@'%' IDENTIFIED BY '123456';
三、 MySql的备份
+++ 备份
mysqldump -uroot -p day17 > c:/bak.sql
+++ 恢复
mysql -uroot -p day17 < d:/back.sql
注意:在cmd命令行中直接输入即可,不需要登陆
四、查看连接进程
-- 查看活跃的连接列表
SHOW PROCESSLIST;