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 '用户名'@'%';
posted @ 2021-06-08 11:40  changlinlo  阅读(301)  评论(0编辑  收藏  举报