首页 > 数据库 >MySQL用户权限管理

MySQL用户权限管理

时间:2023-10-08 15:57:35浏览次数:55  
标签:MySQL 用户 密码 user mysql 权限 root

目录

MySQL用户权限管理

MySQL用户管理

MySQL中的用户不是只看用户名

## 优化MySQL用户
mysql> truncate mysql.user;

MySQL的用户组成:

  • 用户名
  • 主机域
## 主机域书写
172.16.1.%
172.16.%.%
172.%.%.%
%
172.16.1.0/255.255.255.0
172.16.1.50-59 172.16.1.5
## 创建用户
mysql> create user oldboy@'10.0.0.%' identified by '123';

## 查询用户
mysql> select user,host from mysql.user;

## 删除用户
mysql> drop user ''@'localhost';
Query OK, 0 rows affected (0.00 sec)

MySQL用户管理:

1)创建用户:create user
2)删除用户:delete user drop user
3)修改用户:update
# 创建用户
mysql> create user oldboy@'10.0.0.%' identified by '123';

# 查看用户
mysql>  select user,host from mysql.user;

# 删除用户
mysql>  drop user oldboy@'10.0.0.%';

# 修改密码
mysql> set password
mysql> update user set password=PASSWORD('oldboy123') where user='root' and host='localhost';
mysql> grant all privileges on *.* to oldboy@’10.0.0.%’ identified by ‘123’;

-------------------------------------
set password;:这是一个交互式命令,它会提示你输入新的密码,并将其设置为当前用户的密码。但是在你提供的信息中,缺少了实际的新密码。

update user set password=PASSWORD('oldboy123') where user='root' and host='localhost';:这条命令将更新 MySQL 用户表中 root 用户的密码为 "oldboy123",只有在用户名为 root,且主机名为 localhost 才会进行更新。请注意,这个命令改变了 root 用户的密码,避免在生产环境中使用弱密码。

grant all privileges on *.* to oldboy@’10.0.0.%’ identified by ‘123’;:这条命令授予用户 oldboy 在所有数据库上的所有权限,并设置密码为 "123"。用户可以从以 10.0.0. 开头的 IP 地址连接到 MySQL 服务器。请注意,如果你要在实际环境中使用,请根据实际需求和安全性考虑来定义权限和密码。

MySQL用户密码管理

###### MySQL5.6-------------
[root@db02 ~]# mysqladmin -uroot -p password '789'
## 修改当前登录的用户
mysql> set password=PASSWORD('111');

## update修改密码(配合刷新授权表
mysql> update mysql.user set password=PASSWORD('222') where user='root' and host='localhost';
mysql> flush privileges; //(只有在修改密码时,才需要用到)

## 修改密码
mysql> grant all on *.* to root@'localhost' identified by '123';

###### MySQL5.7-------------
mysql> alter user root@'localhost' identified by '123';

## 修改当前登录的用户
mysql> set password=PASSWORD('111');

## update修改密码(配合刷新授权表)
mysql> update mysql.user set authentication_string=PASSWORD('222') where user='root' and host='localhost';
mysql> flush privileges; //(只有在修改密码时,才需要用到)

## 修改密码
mysql> grant all on *.* to root@'localhost' identified by '123';
[root@db02 ~]# mysqladmin -uroot -p password '789'

误删除root用户 忘记root密码

## 优化MySQL用户
mysql> truncate mysql.user;
# 停止数据库
/etc/init.d/mysqld stop
# 跳过授权表和网络连接
mysqld_safe --skip-grant-tables --skip-networking &
# 刷新授权表
flush privileges;
# 创建最大权限用户,名字root,密码123,
grant all on *.* to root@'localhost' identified by '123' with grant option;
# 需要启动授权表更改,登录的这个用户的密码
set password=PASSWORD('111');
# 登陆后不需要原始密码也可以更改密码,(无需授权表更改)
update mysql.user set authentication_string=PASSWORD('222') where user='root' and host='localhost';
更新 库.表 设置  字段=加密后密码  条件  用户名  地址

真正的root权限

# 4.创建root用户,授权
mysql> grant all on *.* to root@'localhost' identified by '123' with grant option;

误删除了所有用户

#关闭数据库
[root@db02 mysql-5.7.20]# /etc/init.d/mysqld stop
#启动数据库
[root@db02 mysql-5.7.20]# mysqld_safe --skip-grant-tables --skip-networking
#使用mysql库
mysql> use mysql
#错误方法1、创建root用户
mysql> create user root@’localhost’;
#错误方法2、创建root用户
mysql> insert into user(user,host,password) values('root','10.0.0.55',PASSWORD('123'));
#正确方法创建root用户
mysql> insert into mysql.user values ('localhost','root',PASSWORD('123'),
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'’'
'’'
'’'
'’'0,0,0,0,'mysql_native_password','','N');

MySQL权限管理

grant all on *.* to user@'%' identified by '123';
所有权限 库.表 用户@主机域 密码

## 给开发开权限:
grant select,update,insert on lol.* to dev@'10.0.0.%' identified by '复杂一点';

grant select,update,insert,delete on lol.* to dev@'10.0.0.%' identified by '复杂一点';

lol.*:单库级别

lol.user:单表级别

## 脱敏:脱离敏感信息
mysql> grant select(user,host),update,insert on mysql.user to dev1@'localhost' identified by '123';

INSERT,SELECT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE,REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES,EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE
ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE
INSERT:允许用户向表中插入新的数据。
SELECT:允许用户从表中查询(检索)数据。
UPDATE:允许用户更新表中的数据。
DELETE:允许用户删除表中的数据。
CREATE:允许用户创建新的数据库、表或其他对象。
DROP:允许用户删除数据库、表或其他对象。
RELOAD:允许用户重新加载服务器配置或刷新缓存。
SHUTDOWN:允许用户关闭数据库服务器。
PROCESS:允许用户查看正在运行的进程。
FILE:允许用户读写文件。
REFERENCES:允许用户创建或删除外键约束。
INDEX:允许用户创建或删除索引。
ALTER:允许用户修改现有的数据库、表或其他对象。
SHOW DATABASES:允许用户查看所有数据库的列表。
SUPER:允许用户执行敏感操作,如更改全局变量或关闭任何线程。
CREATE TEMPORARY TABLES:允许用户创建临时表。
LOCK TABLES:允许用户锁定表,以防止其他用户对表进行更改。
EXECUTE:允许用户执行存储过程或函数。
REPLICATION SLAVE:允许用户作为复制从属服务器。
REPLICATION CLIENT:允许用户查询复制相关的信息。
CREATE VIEW:允许用户创建视图。
SHOW VIEW:允许用户查看视图的定义。
CREATE ROUTINE:允许用户创建存储过程或函数。
ALTER ROUTINE:允许用户修改存储过程或函数。
CREATE USER:允许用户创建新用户账户。
EVENT:允许用户创建或删除事件调度。
TRIGGER:允许用户创建或删除触发器。
CREATE TABLESPACE:允许用户创建表空间

企业中权限设置

走流程:OA

select,update,insert,delete
哪个库,表?
用户名
密码

标签:MySQL,用户,密码,user,mysql,权限,root
From: https://www.cnblogs.com/xiutai/p/17749277.html

相关文章

  • MySQL体系管理结构
    MySQL客户端与服务端模型MySQL是C/S结构的服务MySQL客户端mysqlmysqladminmysqldump图形化SQLyognavicatMySQL服务端mysqldMySQL服务端的连接方式TCP/IP连接mysql-uroot-p123-h10.0.0.51Socket连接mysql-uroot-p123-S/app/mysql/tmp/mysql.sock......
  • MySQL客户端命令
    目录MySQL客户端命令优化命令提示符mysqlmysqladminmysqldumpSQL层SQL语句DDL(DatabaseDefinitionLanguage)数据定义语言数据库create增:建库drop删:删库alter改表操作create增:建表数据类型数字类型字符串类型枚举类型浮点型时间戳类型字段属性(约束)drop删alter改DMLinsert增delete......
  • 资源清单编写MySQL,wordpress
    目录mysqlwordpresshttp://k8s.driverzeng.com/v1.19/mysql[root@master-1mysql]#catmysql.yamlapiVersion:"v1"kind:"Pod"metadata:name:mysql57//资源清单叫mysql57spec:nodeName:node-1......
  • MySQL MHA
    MySQLMHA1.什么是MHAMHA(MasterHighAvailability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA的出现就是解决MySQL单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正......
  • jmeter 两个"csv数据文件设置"遍历数据,实现多用户购买多个商品
    目标使用jmeter构造基础数据,需要实现多个用户购买多个商品的场景。 数据准备1号数据txt文件,包含token和userId,用于用户登录(有10个用户的登录信息);2号数据txt文件,包含goodsId,用户购买商品(有6个商品的Id); jmeter设置1.添加--配置元件--“CSV数据文件设置“用于读取token和u......
  • MySQL专题面试题-二叉树、红黑树、B 树、B+树
    演示网址:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html所谓的索引,就是帮助MySQL高效获取数据的排好序的数据结构,基本都是按照k-v形式存储。1.二叉树 二叉树的每个节点至多只有2个叶子节点,且左边的叶子节点键值比根节点小,右边的叶子节点键值比根节点大。这......
  • mysqldump 导出来的文件,使用 source还原时报错“ASCII '\0' appeared in the stateme
    导出语句:mysqldump-uroot-pword--databasesdb1--tablestable1>./sqldumps/archive-table1-`date+"%Y%m%d_%H%M%S"`.sql导出后,使用source还原报错:ASCII'\0'appearedinthestatement,butthisisnotallowedunlessoption我开始以为是我导出的编码格式有问题,......
  • mysql中limit后面不能使用运算符
    mysql中limit后面不能使用运算符进行分页查询的时候,如果写成以下sql,语句执行会报错:select*fromuserwhereid=123456andcode=111andcreate_date>=20190101andcreate_date<=20190202limit(1-1)*1,20因为mysql中limit后面不能带运算符,只能是常量。解决方法使......
  • MYSQL中 find_in_set() 函数用法详解(匹配部门id或父id为100的数据)
    https://blog.csdn.net/carefree31441/article/details/119563685   ......
  • Centos系统安装MySQL数据库时,要以不安全的方式连接至 dev.mysql.com,使用“--no-check-
    解决:要以不安全的方式连接至dev.mysql.com,使用“--no-check-certificate” 问题:[root@192桌面]#wgethttps://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm--2023-10-0812:44:16--https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.......