容器内的文件,会随着容器删除而删除。但是-v这种外部挂载的文件是特殊的,会持续保留在你的主机上。所以如果你使用了-v参数,那么删除mysql后,再用同样的命令新建,数据是不会丢失的。
老师,按照你的步骤最后一步创建测试数据库用到mysql命令,但终端找不到
我也遇到这个问题了
在安装的mysql的目录下,如果是容器安装的话,在本机没有,容器内有。
clone之后执行mysql导入数据库运到问题:
Command 'mysql' not found, but can be installed with:
sudo apt install mysql-client-core-5.7
sudo apt install mariadb-client-core-10.1
之后能想到的方法是 :先把db文件复制到容器目录下,然后再导的
ubuntu@VM-0-10-ubuntu:~$ sudo docker cp test_db 9dc8ab54a4caf375914e31775d58b46b2c292d022c0aea46a91a24d8e960d07a:/test_db
ubuntu@VM-0-10-ubuntu:~$ sudo docker exec -it mysql bash
root@9dc8ab54a4ca:/# cat employees.sql |
> sed -e 's#employees;#employees_XCT;#g' |
> mysql -h sql.testing-studio.com -u root -p
虽然到成功了 但是不是兜圈子了?是不是docker哪里配置有问题
嗯 不用复制 也能导入 用docker的特殊参数,docker exec -i mysql < some.sql
@seveniruby执行命令cat employees.sql | sed -e ‘s#employees;#employees_doulihang;#g’ | mysql -h sql.testing-studio.com -u root -p,输入密码后报错
没有找到数据库服务器的登录密码,麻烦提供下
本地linux没有安装mysql的情况下
不复制sql文件到容器,直接导入还是不会呢,全部命令是怎么样的呢?
本地创建
连不上学院数据库,在本地装了。
学院数据库未配置权限,本地执行的