我想对现有的mysql数据库进行容器化,从而将容器内的数据目录链接到本地文件系统。
此docker run命令可以正常工作,即可以访问数据库并且持久存储数据。
docker run -v ./mydata:/var/lib/mysql mysql:5.7
但是,我无法使其与docker-compose一起使用。
我遇到以下错误
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
...
Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
我的docker-compose文件如下所示:
version: "3.7"
services:
database :
restart: always
image: mysql:5.7
command: --port=4406
volumes:
- ./mydata:/var/lib/mysql
我的撰写文件怎么了?
更新: mydata的内容是
我还尝试了./mydata/mysql:/var/lib/mysql
进行批量交易。这可以让我连接到数据库(例如,通过mysql工作台),但是当我尝试查看用户时遇到另一个错误(找不到DESCRIBE mysql.db文件)。