mysql用户账号、权限、密码管理

一:用户账号管理

查看当前可登录数据库的用户

mysql>SELECT host,user FROM mysql.user;

创建新用户

mysql>CREATE USER username@host IDENTIFIED BY ‘密码‘;

注意:username是用户名,host用于指定登录的主机,如果是本地用户用localhost,如果需要远程连接可以指定ip,或者使用“%”可以从任意主机登录。

删除用户

mysql>DROP USER pangpang@localhost ;

修改用户名

是对库名为mysql的数据库中的user表进行更新,这里别搞混了,不是ORACLE、SQLserver的那个mysql,以下默认皆是。

mysql>USE mysql;
mysql>UPDATE user SET USER="新用户名" WHERE USER ="旧用户名";

或者直接指定哪个数据库和表名

禁用账号

mysql>ALTER USER pangpang@localhost ACCOUNT LOCK;

启用账号

mysql>ALTER USER pangpang@localhost ACCOUNT UNLOCK;

二:用户密码管理

修改用户密码

mysql> ALTER USER pangpang@localhost IDENTIFIED BY "2wsx@WSX";

设置密码有效期

expire是失效、终止的意思

mysql> ALTER USER pangpang@localhost PASSWORD EXPIRE INTERVAL 100 DAY;

禁用密码过期功能

mysql> ALTER USER pangpang@localhost PASSWORD EXPIRE NEVER;

恢复默认用户密码策略

mysql> ALTER USER pangpang@localhost PASSWORD EXPIRE DEFAULT;

三:用户权限管理

Mysql 通过GRANT命令进行赋权操作

常用权限参考

usage 无权限

SELECT 查询表记录

INSERT 插入表记录

UPDATE 更新表记录

DELETE 删除表记录

CREATE 创建库、表

DROP 删除库、表

RELOAD 有重新载入授权 必须拥有reload权限,才可以执行flush [tables | logs | privileges]

SHUTDOWN 允许关闭mysql服务 使用mysqladmin shutdown 来关闭mysql

PROCESS 允许查看用户登录数据库服务器的进程 ( show processlist; )

FILE 导入、导出数据

REFERENCES 创建外键

INDEX 创建索引

ALTER 修改表结构

SHOW DATABASES 查看库

SUPER 关闭属于任何用户的线程

CREATE TEMPORARY TABLES 允许在create table 语句中使用 TEMPORARY关键字

LOCK TABLES 允许使用 LOCK TABLES 语句

EXECUTE 执行存在的Functions,Procedures

REPLICATION SLAVE 从主服务器读取二进制日志

REPLICATION CLIENT 允许在主/从数据库服务器上使用 show status命令

CREATE VIEW 创建视图

SHOW VIEW 查看视图

CREATE ROUTINE 创建存储过程

ALTER ROUTINE 修改存储过程

CREATE USER 创建用户

EVENT 有操作事件的权限

TRIGGER, 有操作触发器的权限

CREATE TABLESPACE 有创建表空间的权限

GRANT命令的常见格式


命令解析


作用


GRANT 权限 ON 数据库.表单名称 TO 账户名@主机名


对某个特定数据库中的特定表单赋权


GRANT 权限 ON 数据库.* TO 账户名@主机名


对某特定数据库中的所有表单赋权


GRANT 权限 ON *.* TO 账户名@主机名


对所有数据库及其所有表单赋权


GRANT 权限1,权限2 ON 数据库.* TO 账户名@主机名


对某数据库的所有表单赋多个权


GRANT ALL PRIVILEGES ON *.* TO 账户名@主机名


对全部数据及表单赋予所有权限(慎用)

查看当前用户的权限

mysql> SHOW GRANTS;

查看特定用户的权限

mysql> SHOW GRANTS FOR pangpang@localhost;

给用户添加某权限

mysql>GRANT UPDATE ON *.* TO pangpang@localhost;

赋予多项权限用逗号隔开

mysql>  GRANT DELETE,CREATE ON *.* TO pangpang@localhost;

删除用户某项权限

mysql> REVOKE DELETE ON *.* FROM pangpang@localhost;

同时删除所有权限

mysql> REVOKE ALL ON *.* FROM pangpang@localhost;

原文地址:https://www.cnblogs.com/maohai-kdg/p/11810844.html

时间: 2024-11-01 16:55:43

mysql用户账号、权限、密码管理的相关文章

MySQL数据库登录密码管理

mysql数据库安装完成默认管理员的登录密码为空,因此可以无需输入密码直接登录数据库,这样是不安全的,以下文章简单介绍如何设置管理员登录数据库的密码和如何修改登录密码,以及忘记登录密码如何处理. 一.环境介绍 操作系统:CentOS 6.5 数据库版本:MySQL 5.5.32 主机名称:mysql-singleton 二.数据库密码管理  1.设置数据库初始密码  [[email protected] ~]# mysqladmin -uoldcat password "123456"

[转帖] mysql 用户 权限 密码等操作记录

前言 From :https://blog.csdn.net/yu12377/article/details/78214336 mysql5.7版本中用户管理与以前版本略有不同,在此记录,以备忘 登陆 [[email protected] ~]# mysql -h 127.0.0.1 -P 3316 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL conn

Mysql 数据库用户密码管理

数据库是信息系统中非常重要的一个环节,合理高效的对它进行管理是很重要的工作.通常是由总管理员创建不同的管理账户,然后分配不同的操作权限,把这些账户叫给相应的管理人员使用. Mysql的用户信息存放在mysql库中user表中. 一. 用户管理 1.新建用户: CREATE USER '用户名'@'主机' IDENTIFIED BY PASSWORD '密码': 2.删除用户 DROP USER '用户名'@'主机': 3.重命名: RENAME USER '用户名'@'主机' TO '修改后的用

mysql的权限管理

mysql的权限管理1.授权的基本原则   只授予满足要求的最小权限,但要注意使用户能够授权给别的用户(with grant option)   对用户设置登录的主机限制   删除没有密码的用户   满足密码的复杂度,设置较为复杂的密码   定期检查用户的权限,适当收回不需要的权限   2.给用户授权  mysql> grant all on *.* to 'root'@'10.0.5.150' identified by 'aixocm';  mysql> flush privileges;

MySQL之权限管理

MySQL权限简介 权限简单的理解就是mysql允许权力以内的事情,不可越界.比如只允许执行select操作,那么就不能执行update操作.只允许从某台机器上连接mysql,那么就不能从除那台机器以外的其他机器连接mysql. 那么Mysql的权限是如何实现的呢?这就要说到mysql的两阶段验证,下面详细介绍: 第一阶段:服务器首先会检查是否允许连接.因为创建用户的时候会加上主机限制,可以限制成本地.某个IP.某个IP段.以及任何地方等,只允许从配置的指定地方登陆. 第二阶段:如果能连接,My

mysql用户权限管理

mysql数据在实际生产环境中大量被使用,那平时在做好服务器上防火墙策略以外平时,对mysql下的用户权限也要严格管理,mysql的用户权限都是放在mysql.user这张表里,平时的用户权限管理都是隐式使用着这张表的,先说下权限: 权限 意义 select 查询 insert 插入 update 更新 delete 删除记录,一般用于清空表或者某一条记录 create 创建 drop 删除,从表空间里删除 grant 授予,一般用于给用户授权 references 引用 index 索引 al

Mysql grant权限管理

MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 [identified by '密码'] 最常用的,弄主从同步的时候,给从库的slave用户设置拥有所有权限,权限all 仅允许其从192.168.0.2登录,并限定使用密码 funsion (密码要用 单/双引号 括起来) grant all on *.* to slave@192.168.0.2 identified by 'funsion'; 执行完毕后,记得用 FLUSH PRIVILEGE

[MySQL]MySQL之权限管理

一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行update操作.只允许你从某台机器上连接mysql,那么你就不能从除那台机器以外的其他机器连接mysql. 那么Mysql的权限是如何实现的呢?这就要说到mysql的两阶段验证,下面详细介绍:第一阶段:服务器首先会检查你是否允许连接.因为创建用户的时候会加上主机限制,可以限制成本地.某个IP.某个IP段.以及任何地方等,只允许你从配置的指定

MYSQL用户权限管理学习笔记

MYSQL 用户管理 1.权限表 MYSQL是一个多用户的数据库,MYSQL的用户可以分为两大类: (1)       超级管理员用户(root),拥有全部权限 (2)       普通用户,由root创建,普通用户只拥有root所分配的权限 1.1 权限表的位置 数据库:mysql 与权限相关的数据表:user,db,host,tables_priv,columns_priv,procs_priv等 1.2 user表 User表存储了: (1)用户的信息:hots(用户所在的主机),user