MySql之授权用户权限如何设置
作者:xingcsdnboke 发布时间:2024-01-21 21:56:13
MySql授权用户权限如何设置
首先:去 mysql 库中查看 root 用户的权限
select * from user where user = 'root' and host='localhost';
查看root权限为所有ip都可以访问
mysql> show grants for root;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD
1、授权test用户拥有 mydatabase 数据库的所有权限(某个数据库的所有权限):
mysql>grant all privileges on mydatabase.* to user@localhost identified by '123456';
mysql>flush privileges;//刷新系统权限表
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
2、指定部分权限给一用户,可以这样来写:
mysql>grant select,update on testDB.* to test@localhost identified by '123456';
mysql>flush privileges; //刷新系统权限表
3、授权test用户拥有所有数据库的某些权限:
mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "123456";
//test用户对所有数据库都有select,delete,update,create,drop 权限。
//@"%" 表示对所有非本地主机授权,不包括localhost
MySQL赋予用户权限命令总结
MySQL用户可用权限
一个新建的MySQL用户没有任何访问权限,这就意味着你不能在MySQL数据库中进行任何操作。你得赋予用户必要的权限。
以下是一些可用的权限:
ALL
: 所有可用的权限CREATE
: 创建库、表和索引LOCK_TABLES
: 锁定表ALTER
: 修改表DELETE
: 删除表INSERT
: 插入表或列SELECT
: 检索表或列的数据CREATE_VIEW
: 创建视图SHOW_DATABASES
: 列出数据库DROP
: 删除库、表和视图grant
、index
、references
、reload
、shutdown
、process
等等
赋予权限基本命令格式
mysql> grant 权限1,权限2 on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
当权限1,权限2,…被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用'%'表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。
在MySQL安装完成后,为了确保数据库的安全性,通常我们都使用mysqladmin命令给数据管理员root用户添加密码,允许远程登录并赋予所有权限。
例1
mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
赋予所有特殊权限给root用户,可以从任何IP地址远程登录,密码为abc123,且拥有grant赋予权限的权限
例2
mysql> grant select,insert,update,delete,create,drop on school.info to test@192.168.100.100 identified by '123';
给来自192.168.100.100的用户test分配可对数据库school的info表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
例3
mysql> grant all privileges on school.* to test@192.168.100.100 identified by '123';
给来自192.168.100.100的用户test分配可对数据库school所有表进行所有操作的权限,并设定口令为123。
例4
mysql>grant all privileges on *.* to test@localhost identified by '123';
给本机用户test分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
注:在mysql模式中,当赋予用户权限或者权限设定后,重要的一步使得命令立即生效:
mysql>flush privileges
忘记密码 重置密码
systemctl stop mysqld.service
mysqld --skip-grant-tables 启动数据库不使用授权表
source /etc/profile
mysql 进入数据库
update mysql.user set authentication_string=password ('123456') where user='root';
flush privileges; 刷新数据库
init 6 重启
注:若是想默认直接跳过账户验证,可直接通过在主配置文件中添加:
vim /etc/my.cnf
[mysqld]
skip-grant-tables //添加跳过验证命令
user=mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
....
重启MySQL服务
systemctl restart mysqld.service
如上,当再次进入MySQL时即可跳过验证,直接进入。
来源:https://blog.csdn.net/xingcsdnboke/article/details/127058965


猜你喜欢
- 从实时视频流中识别出人脸区域,从原理上看,其依然属于机器学习的领域之一,本质上与谷歌利用深度学习识别出猫没有什么区别。程序通过大量的人脸图片
- 本文实例讲述了python中while循环语句用法。分享给大家供大家参考。具体如下:number = 1while number <
- 案例以论坛为例,有个接口返回帖子(posts)信息,然后呢,来了新需求,说需要显示帖子的 author 信息。此时会有两种选择:在 post
- 网络下载的python代码,版本参差,从python2.x迁移python3.x的过程中,存在print语法问题,即python2.x中pr
- 使用JavaScript写的一个旋转的彩圈效果图<!DOCTYPE html><html><head>&
- 在javascript中,null>=0 为真,null==0却为假,null的值详解1.前言今天看见朋友们在讨论一个问题,说 null 到
- Java一直标榜一句老话叫“编写一次,到处运行(Write Once,Run Anywhere)”,CSS也差一点点做到了。但就是为了差的一
- import React, { Component } from 'react';import { Table, Input
- 两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒):天:ROUND(TO
- 无论是公司的同事还是外界的程序员朋友们,大部分人对JavaScript的高级应用不甚了解,已有的知识架构里会认为JavaScript仅仅是一
- 函数的迭代器函数的强大功能叫做迭代器,Python里面最具威力的功能之一。迭代器我们听起来会感觉非常陌生,在list、tuple都有用到它,
- 目的是能使用Python进行rtmp推流,方便在h264帧里加入弹幕等操作。librtmp使用的是0.3.0,使用树莓派noir官方摄像头适
- 上个月安装的pycharm,由于当时急需要使用,就直接使用的pycharm试用版,没成想,今天早上一打开,直接给我来了个下马威,不能进入了,
- 简述mat参照了函数设计,plot表示绘图的作用,lib则表示一个集合。今年在开源社区的推动下,Matplotlib在科学计算领域得到了广泛
- 一、 yaml1、 准备支持的数据类型:字典、列表、字符串、布尔值、整数、浮点数、Null、时间等基本语法规则:大小写敏感使用缩进表示层级关
- 前言我使用goland开发,下面都是用goland做演示一、生成demo.a新建一个项目,目录如下demo.gopackage demoim
- 【方法一】: 通过setuptools来安装python模块首先下载 http://peak.telecommunity.com/dist/
- 1. 使用readline模块逐行读取流数据1.1. 创建Interface对象在readline模块中,通过Interface对象的使用来
- 前言网易云音乐这款音乐APP本人比较喜欢,用户量也比较大,而网易云音乐之所以用户众多和它的歌曲评论功能密不可分,很多歌曲的评论非常有意思,其
- Ubuntu18.04安装mysql5.7,供大家参考,具体内容如下1.1安装首先执行下面三条命令:# 安装mysql服务sudo apt-