mysql 新增 删除用户和权限分配

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

1. 新增用户

 

mysql>insert into mysql.user(Host,User,Password) values("localhost","lionbule",password("hello1234"));  


mysql>flush privileges;  

 

2. 修改用户密码


mysql>update mysql.user set password=password('new password') where User="lionbule" and Host="localhost";  


mysql>flush privileges;  

3. 删除用户


mysql>DELETE FROM user WHERE User="lionbule" and Host="localhost";  

mysql>flush privileges;  

 

4. 权限分配

    4.1. grant用法

           grant 权限 on 数据库.* to 用户名@'登录主机' identified by '密码'


权限:  

    常用总结, ALL/ALTER/CREATE/DROP/SELECT/UPDATE/DELETE  

数据库:  

     *.*                    表示所有库的所有表  


    test.*                表示test库的所有表 

 

    test.test_table  表示test库的test_table表  

     

用户名:  

     mysql账户名  

登陆主机:  

     允许登陆mysql server的客户端ip  

     '%'表示所有ip  


     'localhost' 表示本机  


     '192.168.10.2' 特定IP  

密码:  

      账户对应的登陆密码  

 

    4.2 例子


mysql>grant all  on test.* to lionbule@'%' identified by 'hello1234';  

mysql>flush privileges;  

    新增密码为‘hello234’的用户lionbule对test库拥有所有操作权限,并不限制lionbule用户的登陆IP。     

 




1、mysql默认安装后,生成一个super-user:root,密码为空,给root用户设置密码的方法很多

(1)mysqladmin -uroot password 'newpassword';

(2)update user set password='newpassword' where user='root'

2、如果不慎将root用户给删除了,可以尝试以下办法操作。

(1)、直接重新安装初始化数据库mysql,不会对数据库目录下/mysql/var/目录下其他数据库带来影响,

mysql_install_db --user=mysql,

然后重启

mysqld_safe --user=mysql &


(2)、尝试输入mysql --skip-grant-lables &,跳开权限认证,对mysql数据库中的user授权表进行操作,

insert into user (host,user,password,'','','','',''........)  values ('localhost,'root','root','','','','',''........);

3、  添加用户和设置权限

在安装MySql后只有一个超级管理权限的用户ROOT,而且ROOT限制只能在数据库本机上使用,如果我们要远程管理MySql咋办呢?那么事实上我们需要添加一个具有超级管理权限并且可能远程访问的超级用户,而在 MySql中有两种方法可以实现这个目的,我们以增加一个超级权限管理用户admin为例来说明。 

       你可以通过发出GRANT语句增加新用户:首先在数据库本机上用ROOT用户登录上MySql(不用我告诉你如何登录吧?),然后: 

mysql>GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'something' WITH GRANT OPTION; 


mysql>GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'something' WITH GRANT OPTION; 

第一句增加了一个admin用户授权通过本地机(localhost)访问,密码“something”。


第二句则是授与admin用户从任何其它主机发起的访问(通配符%)。 
       
        你也可以直接通过发出INSERT语句增加同样的用户存取信息: 


mysql>INSERT INTO user VALUES('localhost','admin',PASSWORD('something'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y') 


mysql>INSERT INTO user VALUES('%','admin',PASSWORD('something'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y') 

      取决于你的MySQL版本,对上述,你可能必须使用一个不同数目'Y'值(在3.22.11以前的版本有更少的权限列)。 

验证方法,在命令行中输入:mysql -h主机名或IP地址 -u用户名 -p密码 




SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;


show grants for 'cactiuser'@'%';   


select * from mysql.user where user='cactiuser' \G   










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1557500,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
网络协议 关系型数据库 MySQL
mysql8.0远程连接权限设置
mysql8.0远程连接权限设置
186 0
|
1月前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
104 1
|
1月前
|
SQL NoSQL 关系型数据库
|
2月前
|
存储 关系型数据库 MySQL
基于案例分析 MySQL 权限认证中的具体优先原则
【10月更文挑战第26天】本文通过具体案例分析了MySQL权限认证中的优先原则,包括全局权限、数据库级别权限和表级别权限的设置与优先级。全局权限优先于数据库级别权限,后者又优先于表级别权限。在权限冲突时,更严格的权限将被优先执行,确保数据库的安全性与资源合理分配。
|
3月前
|
安全 关系型数据库 MySQL
Navicat工具设置MySQL权限的操作指南
通过上述步骤,您可以使用Navicat有效地为MySQL数据库设置和管理用户权限,确保数据库的安全性和高效管理。这个过程简化了数据库权限管理,使其既直观又易于操作。
415 4
|
7月前
|
关系型数据库 MySQL 数据库
mysql添加用户并设置数据库权限
mysql添加用户并设置数据库权限
|
4月前
|
关系型数据库 MySQL
MySQl优化:使用 jemalloc 分配内存
MySQl优化:使用 jemalloc 分配内存
|
4月前
|
关系型数据库 MySQL
MySQL 添加用户,分配权限
MySQL 添加用户,分配权限
74 0
|
5月前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
6月前
|
NoSQL 关系型数据库 Serverless
Serverless 应用引擎产品使用合集之连接RDS、Redis等数据库时,是否需要通过安全组来控制访问权限
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。