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 '用户名'@'%';