进入容器交互
docker exec -it b71d6fa23cd4 /bin/bash
交互中输入命令
备份单个数据库
mysqldump -u root -p(密码) --databases 数据库1 数据库2 > xxx.sql
mysqldump -uroot -p jumpserver > /home/jumpserver.sql
备份全部数据
–all-databases , -A 导出全部数据库. mysqldump -uroot -p --all-databases > all_databases_backup.sql
mysqldump -uroot -p --all-databases > /home/backup.sql
容器cp到宿主机
命令在宿主机运行!!
docker cp 容器名(ID):要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
docker cp b71d6fa23cd4:/home/jumpserver.sql /opt
宿主机cp到容器
命令在宿主机运行!!
docker cp 要拷贝的文件路径 容器名(ID):要拷贝到容器里面对应的路径
docker cp /opt/jumpserver.sql b71d6fa23cd4:/opt
连接数据库
mysql -uroot -p
显示数据库
show databases;
进入数据库
use jumpserver;
恢复数据
source /opt/jumpserver.sql
刷新MySQL的系统权限相关表
flush privileges;
退出
exit
注意!!!!如果是恢复到本机器,下面就不用操作了。
恢复到其他机器要删除jumpserver.key
和.access_ key
文件,不然ssh远程终端会提示“No asset id or system user id found, exit”。rdp远程会提示“您没有权限访问此连接。如果需要访问此连接,请联系管理员授权,或检查系统设置。”
jumpserver.key
路径为cd /config/guacamole/keys
.access_ key
路径(2.0.1版本)为cd /opt/koko/data/keys
------注意.access_ key
为隐藏文件,ls -a
查看,新版(2.2.2版本)的路径是cd /config/guacamole/data/keys/jumpserver.key
rm -f /config/guacamole/keys/jumpserver.key
rm -f /opt/koko/data/keys/.access_key
关键的一步
把不在线的终端都删除!!!!!
然后重启容器就OK
docker restart jms_all
这样ssh和rdp都能进去了。。。
导入到新run的同版本容器,在节点目录删除不了授权规则的,可以点名称进去删除
或者在资产授权的搜索栏搜索删除,先刷新后搜索!
部分数据库命令
show tables;显示表
describe users_user;打开表
(1)导出整个数据库(包括数据库中的数据)
mysqldump -u username -p dbname > dbname.sql
(2)导出数据库结构(不含数据)
mysqldump -u username -p -d dbname > dbname.sql
(3)导出数据库中的某张数据表(包含数据)
mysqldump -u username -p dbname tablename > tablename.sql
(4)导出数据库中的某张数据表的表结构(不含数据)
mysqldump -u username -p -d dbname tablename > tablename.sql
备份与还原
(1) mysqldump常用于数据库的备份与还原,在备份的过程中我们可以根据自己的实际情况添加以上任何参数,假设有数据库test_db,执行以下命令,即可完成对整个数据库的备份:
mysqldump -u root -p test_db > test_db.sql
(2)如要对数据进行还原,可执行如下命令:
mysql -u username -p test_db < test_db.sql
(3)还原数据库操作还可以使用以下方法:
mysql> sourcetest_db.sql