数据库命令行

105 阅读3分钟

​ 用户管理

​ sql语言

环境搭建

​ 小p

​ 命令行配置

用户管理

1.登录

​ mysql -u用户 -h主机信息 -p端口 -p密码

2.查看所有用户信息:

​ 所有用户:select user,host from mysql.user;

​ 当前用户:select user();

3.创建用户

​ create user 用户名@主机名【identified by 密码】;

​ 纠错:

​ %————任意主机使用当前用户可以连接的当前数据库服务

​ 192.168.4.%————表示192.168.4下面所有的主机可以连接当前数据库服务

4.删除用户

​ drop user 用户名@主机信息

5.退出登录

​ quit或者exit

6.查看用户所拥有的权限[privileges]

1)查看自己的权限

​ show greants;

​ 新用户所拥有的权限:usage

2)管理员或者拥有查看别人权限的用户 查看别人的拥有的权限

​ show grants for 用户名@主机名或者IP

7.查看mysql中所有的权限 管理员或者拥有查看权限的用户

​ show privileges;

8.权限关系

​ 操作的权限命名 数据库表中实际管理权限的命名

​ select selcet_priv

​ create user create_user_priv

9.常见的权限

​ 数据操作

​ insert

​ select

​ update

​ delete

​ 表格数据库用户结构操作

​ create 创建

​ create user

​ create database

​ create table

​ create view

​ drop 删除

​ alter 修改

​ show 显示

10.给用户赋予权限【grant】

​ 语法:

​ grant 权限1,权限2...... on 数据库.表名 to 用户名@主机名或者IP地址 【with grant option】

​ ps:大型数据库没有on数据库,只有权限

​ 说明:

​ 权限列表:可以同时给用户赋予多个权限,使用逗号分割

​ 数据库名.表名:可以指定哪些数据库或者表可以被当前用户有对应权限操作所有数据库所有的表都可以操作

​ 用户名@主机

​ 【with grant option】:需要被赋予权限的用户给其用户赋予权限

​ 权限最初的拥有者是root管理员,管理员赋予权限的候没有指定with grant option,不允许用于其他用户赋权

​ ps:注意 mysql数据中,权限给定不是绝对的,例如如果给了create user ,同时开启alter User drop user

​ 一般使用数据的是偶都是不适用默认用户去操纵数据,都是创建新的用户按需操作

11.收回【revoke】权限

语法

​ revoke 权限列表 on 数据库.表名 from 用户名@主机名或者IP地址

语法:

收回所有的权限和权限下发

​ revoke all privileges on . from xp@'localhost';

​ 主要用:revoke grant option from 用户@主机名

​ revoke all from 用户@主机名

12.修改用户的密码

​ 1)自己修改自己的密码 需要自己登陆【推荐】

​ set password = password(”新密码“);

​ 2)管理员修改其他用户的密码【推荐】

​ set password for 用户名@主机名=password(‘新密码’);

​ 3)既可以修改自己密码也可以修改别人的密码【后期解释】

​ update 用户名 set password =password("新密码") where user=‘用户名’and host=‘主机名或者IP’

​ 4)没有登陆修改密码【不推荐】

​ mysqladmin -u用户名 -p旧密码 password 新密码

​ 5)作业--root密码忘记了,怎么办?如何找回密码

​ A:重新安装——数据库丢失

​ B:允许跳过登录——修改密码——百度自己摸索

【过程整理——图文配合】

13.密码管理

​ 语法:

​ alter user 用户名@‘localhost’ password expire;强制过期

alter user 用户名@‘localhost’ password expire never;不过期

alter user 用户名@‘localhost’ password expire default; 数值 DAY默认策略

alter user 用户名@‘localhost’ password expire interval 数值 DAY;多少天后过期

14.刷新权限操作

flush priviliegs;