我使用-v选项创建了带有mysql的docker容器:
-v /storage/mysql1/mysql-datadir:/var/lib/mysql
当我删除容器时,我丢失了/var/lib/mysql
中保存的数据库。
如何使用-v选项创建mysql容器(从主机查看所有内容)并且不丢失数据?
答案 0 :(得分:0)
您是否尝试在主机中重新启动mysql
服务?
这就像从物理文件恢复MYSQL数据库。
在容器内执行数据库操作时,它会在/var/lib/mysql
路径或安装时指定的路径中保存实际数据和索引。
但是,对于主机,MYSQL服务仍然不知道这种变化。
按service mysql restart
重新启动MYSQL服务。
另外检查MYSQL数据文件夹中的所有者和权限,如下所示:
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 660 /var/lib/mysql/
sudo chown -R mysql.mysql /var/log/mysql
在运行容器时,还要安装/var/log/mysql
以及数据文件夹。