使用docker启动mysql容器时,mysql一直重启,查看容器报错日志为:[ERROR] Found 1 prepared transactions! It means that mysqld was not shut down properly last time and critical recovery information (last binlog or tc.log file) was manually deleted after a crash. You have to start mysqld with --tc-heuristic-recover switch to commit or rollback pending transactions.
因为是容器,所以只能拷贝出配置文件修改(我的容器名为zing-mysql,配置文件为50-server.cnf,几天情况按照自己的容器名和配置文件进行修改)
docker cp zing-mysql:/etc/mysql/mariadb.conf.d/50-server.cnf /home/project/zing-mysql/50-server.cnf
修改配置文件,在配置文件中加入以下内容
在[mysqld]下
添加参数:tc-heuristic-recover=rollback
添加完成后
docker cp /home/project/zing-mysql/50-server.cnf zing-mysql:/etc/mysql/mariadb.conf.d/50-server.cnf
重启容器 docker restart zing-mysql
docker ps 查看mysql不再重启