docker上mysq的备份及还原,新增用户、权限
docker上使用命令进行备份
运行命令:
docker exec -it mysql_5733 mysqldump -uroot -proot test_db >/home/bak/test_db0608.sql
mysql_5733为docker镜像名(也可以是镜像实例ID), -u 数据库用户名, -p 数据库密码 test_db为项目中数据库名,/home/bak/为导出目录,test_db0608.sql为导出的sql文件名即为数据库。
docker上使用命令进行还原
1.先将备份的文件上传到mysql容器中
docker cp wancloud0607.sql d501485cafda:/
2.进入mysql容器
docker exec -it mysql_5733 bash
3.登陆数据库
mysql -uroot -proot;
4.创建数据库
create database text;
5.查看所有已存在的数据库
show databases;
6.切换至要还原数据的数据库
use text;
7.查看该库持有的表有哪些
show tables;
8.导入备份sql至还原数据库
source wanyun0607.sql;
9.查看该库所有表
show tables;
新增用户
1.切换至 mysql库
use mysql;
2.查看当前所有用户
方法1:
select user,host from mysql.user;
方法2:
select * from user;
3.创建用户
create user '用户名'@'%' identified by '密码';
用户名:要创建用户的名字。
%:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’
密码:新创建用户的登陆数据库密码,如果没密码可以不写。
4.权限给予及刷新
grant all on *.* to 用户名@'%'; 刷新 flush privileges; 退出mysql exit;
privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 all。
*.*:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 " *.* ",* 是一个通配符,表示全部。
’用户名‘@‘%’:表示授权给哪个用户,用户名 的引号可以不加,但 %必须加。
4.修改语句
4.1:修改用户权限语句
rename user 'root'@'localhost' TO 'root'@'%'; flush privileges;
4.2:修改用户密码语句
1:输入命令mysql -u root -p; 先登录。 2:输入use mysql; 命令连接权限数据库。 3:输入命令update mysql.user set authentication_string=password('新密码') where user='用户名' and Host ='localhost';设置新密码。 4:输入 flush privileges; 命令刷新权限。 5:输入quit;命令退出 MySQL 重新登录,此时密码已经修改为刚才输入的新密码了。
5.删除语句
drop user '用户名'@'%';
bug怎么这么多!
分类:
从删库到跑路--数据库
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战