docker学习笔记02-安装mysql

1.安装mysql8

复制代码
下载MySQL镜像
docker pull mysql:8.0


创建并启动容器
docker run -itd --name mysqltest -p 9999:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

其中-it是交互界面 -d是后台执行 -name 指定容器名称 
-p指定映射端口 -e设置环境变量  最后mysql是镜像名或者用镜像id

如果这条命令报错就重启docker再执行命令

    原因:
        docker服务启动时定义的自定义链DOCKER由于 centos7 firewall 被清掉

        firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。
    
        当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。

        当你使用的是 Systemd 的时候, firewalld 会在 Docker 之前启动,但是如果你在 Docker 启动之后再启动 或者重启 firewalld ,你就需要重启 Docker 进程了。

        重启docker服务及可重新生成自定义链DOCKER

这个1110就是本地对应的端口,访问这个会映射刀容器里的3306 好理解把

2.使用dbeaver连接

emo,报错了 我靠

右键数据库------》编辑连接------》驱动属性------将"allowPublicKeyRetrieval"设置为true

再次连接成功了 注意端口是1110

确实比单独安装mysql服务器快多了,真真是快速部署

3.创建一个mysql远程用户

注意容器退出的时候用ctrl+p+q哦,用exit会停止容器

复制代码
进入容器
docker exec -it mysqltest /bin/bash
进入数据库
mysql -uroot -p123456
创建一个远程连接用户

use mysql


创建本地用户
# 创建一个用户名为admin,密码为 admin123456 的本地用户。
create user 'admin'@'localhost' identified by 'admin123456';
grant all privileges on *.* to 'admin'@'localhost';
flush privileges;


创建外网可访问用户
# 创建一个用户名为adminwai,密码为 admin123456 的本地用户
create user 'adminwai'@'%' identified by 'admin123456';
grant all privileges on *.* to 'adminwai'@'%';
flush privileges;

本地用户不能远程访问哦,远程用户才可以哦 用这个adminwai用户

其他操作忽略

复制代码
修改用户
	#将用户名 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;
	
删除用户
	drop user 'admin'@'localhost';
	flush privileges;
	
操作用户权限
查看用户权限
show grants for 'admin'@'localhost'; 

修改用户权限
# 使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;

修改密码
# 修改admin用户的密码
ALTER USER 'admin'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'admin123456';
# 刷新授权才会生效
flush privileges;
相关推荐
重生之我来学Python1 小时前
Docker套装的简介、安装、超级详细教程
linux·docker·容器·eureka·github
点心的游戏开发世界1 小时前
GDScript 入门笔记(五):函数
笔记·游戏引擎·godot
wp123_13 小时前
硬件设计笔记:1μH功率电感选型实战——线艺 XFL4020-102MEC 与 国产 pin to pin MVLH4020-1R0M 详细参数测评
笔记·科技·硬件架构·硬件工程
zyf1044163 小时前
暑期实践日志 Day48:复盘大纲与知识点对照表,系统汇总整理成果
学习·计算机网络·剪辑·暑期实践·课题任务
摇滚侠4 小时前
《SpringBoot 3:入门与应用实战》第 14 章 打包与部署 Spring Boot 应用打包 阅读笔记 41
spring boot·笔记·后端
金立基包装胶水4 小时前
纸袋热封胶常见都有哪些问题?
大数据·笔记·其他
chnyi6_ya4 小时前
论文阅读笔记 | HoneyBee: Data Recipes for Vision-Language Reasoners
论文阅读·笔记
repetitiononeoneday4 小时前
【每日规划与反思】2026.9.4
笔记
江湖人称菠萝包4 小时前
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter1-基础知识
windows·笔记
m4Rk_5 小时前
【论文阅读】Agent 记忆机制(61):CFGM——用粗到细的记忆落地贯通经验采集、知识蒸馏与在线纠错
论文阅读·人工智能·学习·开源·github