无法删除mysql数据库、表,甚至无法在docker中更改表
我想要一个mysql数据库和一些基本的数据集。 我使用此Dockerfile创建了mysql docker映像,但删除了VOLUME[/var/lib/mysql,/var/log/mysql]行,因此Dockerfile如下所示:无法删除mysql数据库、表,甚至无法在docker中更改表,mysql,docker,Mysql,Docker,我想要一个mysql数据库和一些基本的数据集。 我使用此Dockerfile创建了mysql docker映像,但删除了VOLUME[/var/lib/mysql,/var/log/mysql]行,因此Dockerfile如下所示: FROM ubuntu:12.10 MAINTAINER Brandon Rice <brice84@gmail.com> RUN dpkg-divert --local --rename --add /sbin/initctl RUN ln -s /b
FROM ubuntu:12.10
MAINTAINER Brandon Rice <brice84@gmail.com>
RUN dpkg-divert --local --rename --add /sbin/initctl
RUN ln -s /bin/true /sbin/initctl
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get -y install mysql-server
RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
RUN /usr/bin/mysqld_safe & \
sleep 10s && \
mysql < create_my_db.sql && \
mysql -e "GRANT ALL ON *.* to 'root'@'%'; FLUSH PRIVILEGES"
EXPOSE 3306
CMD ["mysqld_safe"]
添加数据时一切正常,但如果要删除数据库,例如:
FROM my_db_mysql
RUN /usr/bin/mysqld_safe & \
sleep 10s && \
mysql -e "DROP DATABASE my_db;"
EXPOSE 3306
CMD ["mysqld_safe"]
我得到下一个错误:
ERROR 6 (HY000) at line 1: Error on delete of './my_db//db.opt' (Errcode: 1)
它不仅在我想要构建映像时出现,甚至在我执行以下命令时也会出现:mysql-u user-p-e DROP DATABASE my_db;
如何解决这个问题?
谢谢
更新:我还尝试使用不同的文件系统运行docker,例如-s vfs或-s devicemapper,但没有任何更改。
当我使用卷[/var/lib/mysql,/var/log/mysql]构建映像时,一切都正常工作,但我无法提交这些更改。
更新:看来我解决了这个问题。问题出在ubuntu 12.04的主机上。当我将ubuntu更新到13.10时,这个问题消失了。非常感谢 您能否指出是否可以成功地从该数据库中选择?它是否与SHOW数据库一起出现?/var/lib/mysql的内容是什么?@jpetazzo您能否指出您是否可以成功地从该数据库中进行选择对它是否与SHOW DATABASES一起出现?-SHOW数据库工作正常。下一步-您认为您可以提供一个最小的create_my_db.sql文件,以便我们可以在本地完全重现问题吗?非常感谢。
ERROR 6 (HY000) at line 1: Error on delete of './my_db//db.opt' (Errcode: 1)