Mysql只能查看账号用户名和权限 ,无法查看密码 。
因为它是MD5加密 单方向的
创建用户修改用户密码之类的操作都要 root
权限才可以
注意:flush privileges
//让修改密码之类的操作立即生效 ,加载到内存中,
而不必从新开启musql
mysql> flush privileges
查看MYSQL数据库中所有用户及拥有权限:
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
创建账号用户:
CREATE USER '账号名字'@'localhost' IDENTIFIED BY 'password';
修改用户的密码:
mysql> ALTER USER 'jjc'@'localhost'
-> IDENTIFIED BY '123456' PASSWORD EXPIRE;
场景:
安装mysql时,服务器提示 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决办法:
alter user user() identified by "你的密码";
删除用户:
mysql> DROP USER 'jjc'@'localhost';
添加权限
注意:
1. 添加权限的时候一定要进入mysql的安装目录的bin目录 再登陆Mysql不然就报错,说权限不够。
指定范围:
@'localhost' :指本机使用'jeffrey'账号才可访问
@'IP地址 :'指定该IP地址使用'jeffrey'账号才可访问。
@'%' :任何电脑连接此数据库使用'jeffrey'账号才可访问。
指定权限:
权限列表:
ALTER: 修改表和索引。
CREATE: 创建数据库和表。
DELETE: 删除表中已有的记录。
DROP: 抛弃(删除)数据库和表。
INDEX: 创建或抛弃索引。
INSERT: 向表中插入新行。
REFERENCE: 未用。
SELECT: 检索表中的记录。
UPDATE: 修改现存表记录。
FILE: 读或写服务器上的文件。
PROCESS: 查看服务器中执行的线程信息或杀死线程。
RELOAD: 重载授权表或清空日志、主机缓存或表缓存。
SHUTDOWN: 关闭服务器。
ALL: 所有权限,ALL PRIVILEGES同义词。
USAGE: 特殊的 "无权限" 权限。
举例:
GRANT ALL ON db1.* TO 'jeffrey'@'localhost';
GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';