首页 > 数据库 >Docker MySql8 创建、删除、授权用户

Docker MySql8 创建、删除、授权用户

时间:2023-04-13 14:57:07浏览次数:40  
标签:删除 MySql8 privileges 用户 admin user flush Docker localhost

1、登录MySql8

# 登录数据库
docker exec -it mysql8 mysql -uroot -proot123456

# 切换数据库实例
use mysql;

2、用户操作

2.1、查看用户

select host, user, authentication_string, plugin from user;

2.2、创建本地用户

# 创建一个用户名为admin,密码为 admin123456 的本地用户。
create user 'admin'@'localhost' identified by 'admin123456';

# 使admin用户获得所有权限
grant all privileges on *.* to 'admin'@'localhost';

# 刷新授权才会生效
flush privileges;

2.3、创建外网可访问用户

# 创建一个用户名为admin,密码为 admin123456 的本地用户
create user 'admin'@'%' identified by 'admin123456';

# 使admin用户获得所有权限
grant all privileges on *.* to 'admin'@'%';

# 刷新授权才会生效
flush privileges;

2.4、修改用户

# 查询用户信息
select * from user Where User='admin' and Host='localhost';

# 方式一:将用户名 admin 更新为 admin_newm
rename user 'admin'@'localhost' to 'admin_new'@'localhost';

# 方式二:将用户名 admin 更新为 admin_newm
update user set User='admin_new' where User='admin' and Host='localhost';

# 刷新授权才会生效
flush privileges;

2.5、删除用户

# 方式一:删除指定用户
drop user 'admin'@'localhost';

# 方式二:删除指定用户
delete from user Where User='admin' and Host='localhost';

# 刷新授权才会生效
flush privileges;

3、操作用户权限

3.1、查看用户权限

show grants for 'admin'@'localhost'; 

3.2、修改用户权限

# 使admin用户获得所有权限。
grant all privileges on *.* to 'admin'@'localhost';

# 使admin用户获得所有数据库中所有表的(*.*)select、insert、update、delete权限
grant select,insert,update,delete on *.* to 'admin'@'localhost';

# 如果只想让该用户访问某一个数据库写成:testdb.* 即可
grant all privileges on testdb.* to 'admin'@'localhost';

# 刷新授权才会生效
flush privileges;

3.3、删除用户权限

# 删除amdin用户在本地访问mysql时的所有权限
revoke all privileges on *.* from 'admin'@'localhost';

# 删除amdin用户在本地访问mysql时的insert和update权限
revoke insert,update on testdb.* from 'admin'@'localhost';

# 刷新授权才会生效
flush privileges;

4、修改密码

# 查询用户信息
select host, user, authentication_string, plugin from user;

# 需要先将authentication_string置空才能真正修改密码,否则会报错:ERROR 1396 (HY000)
update user set authentication_string='' where user='admin' and Host='localhost';
# 刷新授权才会生效
flush privileges;

# 修改admin用户的密码
ALTER USER 'admin'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'admin123456';
# 刷新授权才会生效
flush privileges;

%与localhost关系

版本用户中的%是否包括localhost
MySQL8.0 包括
MySQL5.7 包括
MySQL5.6 不包括
MySQL5.1 不包括
MariaDB 10.3 不包括

 

标签:删除,MySql8,privileges,用户,admin,user,flush,Docker,localhost
From: https://www.cnblogs.com/hexrui/p/17314805.html

相关文章

  • 1 容器操作 、2 应用部署、3 迁移与备份、 4 Dockerfile
    目录1容器操作2应用部署2.1mysql部署2.2redis2.3nginx3迁移与备份4Dockerfile1容器操作#启动容器 dockerstart容器id#停止容器 dockerstop容器id#文件拷贝 #容器的文件copy到宿主机上(不是在容器内执行)dockercp容器名称:容器目录需要拷贝的文件或......
  • Centos上卸载MySQL8.0
    1、查看当前mysql安装状况rpm-qa|grepmysql#或yumlistinstall|grepmysql2、查看mysql的服务是否启动systemctlstatusmysqld2.1、如果启动则关闭mysql服务systemctlstopmysqld.service#service可加可不加#停止MySQL的服务[root@chenstudy~]\#......
  • Docker 镜像制作
    容器转为镜像容器转为镜像dockercommit容器id镜像名称:版本号镜像生成压缩文件dockersave-o压缩文件名称镜像名称:版本号压缩文件解压为镜像dockerload-i压缩文件名称 Dockfile生成镜像......
  • a note when using docker locally
    whenbuildingthegetting-startedapplicationprovidedbyofficialsite,Igotaerrorsaying, #0138.4node-pre-gypERR!installrequesttohttps://github.com/TryGhost/node-sqlite3/releases/download/v5.1.2/napi-v6-linux-musl-x64.tar.gzfailed,reason:so......
  • 在dockerfile中使用非root用户
    16、在dockerfile中使用非root用户前言:当在运行容器时,默认都是以root的账号进行启动的,但这个root账号和宿主机的root账号的权限是不一样的,会受到capabilities的限制。那如果是非特权的容器,使用容器的root账号启动是否安全的呢。(1)启动一个centos-test的容器#dockerrun......
  • PaddleSpeech docker develop-gpu-cuda10.2-cudnn7-latest 缺失 libsndfile1-dev 和
    Paddle可以說是各種坑,但支持國產,含淚試用了百度飛漿的Speech。1.坑點Dockerdevelop-gpu-cuda10.2-cudnn7-latest缺失:1.libsndfile1-dev2.CUDA_VISIBLE_DEVICES 2.安裝教程也沒什麼安裝教程。下載docker鏡像和項目源碼。dockerpullpaddlecloud/paddlespeech:devel......
  • CentOS安装Docker、Docker-Compose
    一、安装Docker二、安装Docker-Compose2.1sudocurl-L"https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose2.2安装完后执行:sudochmod+x/usr/local/bin/docker-compose......
  • docker的技术学习
    Docker神器的使用原创 生信小尧 生信小尧 2023-02-2117:38 发表于广东收录于合集#linux5个 点击蓝字关注我们  什么是Docker?Docker是一个开源的应用容器引擎诞生于2013年初,基于Go语言实现,dotCloud公司出品(后改名为DockerInc)Docker可以让开发......
  • 学习笔记397—Docker数据管理
    Docker有两种数据管理的方式数据卷:容器内数据直接映射到本地主机环境;数据卷容器:使用特定容器维护数据卷.数据卷数据卷是一个可供容器使用的特殊==目录==,它将主机操作系统目录直接映射进容器数据卷的特性:可以在容器之间共享和重用,容器间传递数据将变得高效与方......
  • Docker介绍下载安装、制作镜像及容器、做目录映射、做端口映射
    在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物......