1. 权限表

安装MySQL会自动安装一个名为mysql的数据库,存储权限表: user表, db表,host表,table_priv表,columns_priv表,proc_priv表等。

1)user表 :39个字段,分为四类——用户列,权限列,安全列,资源控制列

用户列: Host, User,Password, 这三个字段决定用户能否登陆;

权限列:以priv结尾的字段, 决定用户的权限;

安全列:

资源控制列:

2.账户管理

1)用户登录和退出

mysql -h hostname|hostIP -P port -u username -p DatabaseName -e "SQL语句"

2)新建普通用户

第一种:CREATE USER新建普通用户

user表示新建用户的账户, user由用户名(User)和主机名(Host)构成,IDENTIFIED BY用来设置用户密码

CREATE USER user [IDENTIFIED BY [PASSWORD] 'password' ]
[, user [IDENTIFIED BY [PASSWORD] 'password' ]]... 例子: CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';

第二种:INSERT语句新建普通用户

INSERT INTO mysql.user(Host, User, Password) values ('hostname', 'username', PASSWORD('passward') );

第三种: GRANT语句新建普通用户

GRANT priv_type ON databases.table
TO user [ IDENTIFIED BY [PASSWORD] 'password']
[, user [ IDENITIFIED BY [PASSWORD] 'password']...

3) 删除普通用户

第一种:DROP USER

DROP USER user [,user] ...;

例子: DROP USER 'test2@localhost';

第二种:DELETE

DELETE FROM mysql.user WHERE Host='hostname' AND User='username';

4) root用户修改自己的密码

第一种 :mysqladmin命令

mysqladmin -u username -p password "new_password";

第二种:修改mysql数据库下的user表

UPDATE mysql.user SET Password=PASSWORD("new_password")
WHERE User="root" AND Host="localhost"; 执行UPDATE语句后,需要执行FLUSH PRIVILEGES加载权限;

第三种:使用SET语句修改root用户的密码

SET PASSWORD=PASSWORD("new_password");

5)root用户修改普通用户密码

第一种:SET语句修改普通用户密码

SET PASSWORD FOR 'username'@'hostname'=PASSWORD("new_password");

第二种:修改mysql数据率下的user表

UPDATE mysql_user SET Password=PASSWORD("new_password")
WHERE User='username' AND Host='hostname'';

第三种:GRANI语句修改普通用户密码

GRANT priv_type ON databases.table
TO user [ IDENTIFIED BY [PASSWORD] 'password']

6)普通用户修改密码

SET PASSWORD=PASSWORD('new_password');

7)root用户密码丢失的解决办法

3. 权限管理

待续

最新文章

  1. arm_linux_dt
  2. C#读写xml文件的常用方法
  3. 第一个Object-C类
  4. linux下安装php扩展redis缓存
  5. 3A. Shortest path of the king
  6. banana pro 板子
  7. JVM典型配置
  8. [Swust OJ 352]--合并果子(贪心+队列模拟)
  9. 【新提醒】N820 N821 android 4.2 V1.1版 - 大V综合交流区 - 360官方论坛
  10. Oracle错误——ORA-03113:在通信信道文件的末尾 解决方案
  11. Windows Phone开发(6):处理屏幕方向的改变
  12. mysqldump命令使用
  13. 什么是web标准??
  14. jquery中ajax使用
  15. 1.9 Android程序签名打包
  16. 【译】快速起步-JSX简介
  17. 建一个maven项目
  18. ELK新手教程——pomelo + log4js + ELK(一)
  19. ssh 中 远程文件传输
  20. router之switch

热门文章

  1. 华东交通大学2015年ACM“双基”程序设计竞赛1007
  2. python+splinter实现12306网站刷票并自动购票流程
  3. 一个简单的基于MINI2440开发板的启动代码
  4. 10.Spring集成一
  5. Hbase 表操作
  6. Python 类 面向对象(Classes)
  7. Naive Operations
  8. leetcode 196. Delete Duplicate Emails 配合查询的delete
  9. Unity Screen Screen.currentResolution 当前分辨率
  10. C# List(T).Reverse 方法 顺序反转