MySQL创建帐号/修改权限不生效

2024-06-08 17:48

本文主要是介绍MySQL创建帐号/修改权限不生效,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一次工作中,把数据库帐号误删除,后重建该帐号。
本以为问题解决了,但测试人员反馈说,无法连接数据库。
猜测是帐号、密码有错误,对比再三,还是没问题,不知是何问题。
上网搜索之后,才发现,少了一个步骤:
【修改完权限以后,一定要刷新权限表或重启数据库,才能使权限生效!!!】
刷新权限的命令: flush privileges;
在该问题上犯过错,记录下来,防止再次犯错。

同时将博文转载,以示感谢。

转载:http://www.cnblogs.com/candle806/p/4048651.html

原文抄录如下:

1、创建新用户
通过root用户登录之后创建

>> grant all privileges on *.* to testuser@localhost identified by "123456" ;
#创建新用户,用户名为testuser,密码为123456;

>> grant all privileges on *.* to testuser@localhost identified by "123456" ;
#设置用户testuser,可以在本地访问mysql;

>> grant all privileges on *.* to testuser@"%" identified by "123456" ;
#设置用户testuser,可以在远程访问mysql;

>> flush privileges ;
#mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效


2、设置用户访问数据库权限
>> grant all privileges on test_db.* to testuser@localhost identified by "123456" ;
#设置用户testuser,只能访问数据库test_db,其他数据库均不能访问;

>> grant all privileges on *.* to testuser@localhost identified by "123456" ;
#设置用户testuser,可以访问mysql上的所有数据库;

>> grant all privileges on test_db.user_infor to testuser@localhost identified by "123456" ;
#设置用户testuser,只能访问数据库test_db的表user_infor,数据库中的其他表均不能访问;


3、设置用户操作权限

>> grant all privileges on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;
#设置用户testuser,拥有所有的操作权限,也就是管理员;

>> grant select on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION;
#设置用户testuser,只拥有【查询】操作权限;

>> grant select,insert on *.* to testuser@localhost identified by "123456";
#设置用户testuser,只拥有【查询\插入】操作权限;

>> grant select,insert,update,delete on *.* to testuser@localhost identified by "123456";
#设置用户testuser,只拥有【查询\插入】操作权限;

>> REVOKE select,insert ON what FROM testuser;
#取消用户testuser的【查询\插入】操作权限;


4、设置用户远程访问权限
>> grant all privileges on *.* to testuser@“192.168.1.100” identified by "123456" ;
#设置用户testuser,只能在客户端IP为192.168.1.100上才能远程访问mysql;


5、关于root用户的访问设置
设置所有用户可以远程访问mysql,修改my.cnf配置文件,将bind-address = 127.0.0.1前面加“#”注释掉,这样就可以允许其他机器远程访问本机mysql了;

>> grant all privileges on *.* to root@"%" identified by "123456" ;
#设置用户root,可以在远程访问mysql;

>> select host,user from user;
#查询mysql中所有用户权限


6、关闭root用户远程访问权限

>> delete from user where user="root" and host="%" ;
#禁止root用户在远程机器上访问mysql;

>> flush privileges ;
#修改权限之后,刷新MySQL的系统权限相关表方可生效;


这篇关于MySQL创建帐号/修改权限不生效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1042879

相关文章

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID