docker安装mysql后启动容器失败,查看mysql容器日志发现:
[ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800!
查询所有容器
docker ps -a
删除容器
docker rm CONTAINER ID; #CONTAINER ID是实际的容器号
如有,一定要删除外部挂载目录。
重新启动mysql,本人安装的是mysql5.7版本
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
进入容器外部挂载配置文件
vim /mydata/mysql/conf/my.conf
插入以下内容。复制以下内容,通过上一步操作进入文件后,按下键盘 i 进入插入状态,shift + insert粘贴内容,Esc退出插入模式,:wq保存并退出
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
重启mysql
docker restart mysql
本文介绍了解决Docker环境下MySQL容器启动失败的问题,特别是遇到InnoDB表标志不一致的错误时的解决步骤,包括删除旧容器、配置字符集及重启MySQL等。

4368

被折叠的 条评论
为什么被折叠?



