{"id":968,"date":"2026-04-30T06:22:06","date_gmt":"2026-04-30T06:22:06","guid":{"rendered":"https:\/\/opshub.com.cn\/?p=968"},"modified":"2026-04-30T06:22:38","modified_gmt":"2026-04-30T06:22:38","slug":"mysql-5-7%e5%ae%b9%e5%99%a8%e5%90%af%e5%81%9c%e4%b8%8e%e5%b4%a9%e6%ba%83%e6%81%a2%e5%a4%8d%e6%9c%ba%e5%88%b6","status":"publish","type":"post","link":"https:\/\/opshub.com.cn\/?p=968","title":{"rendered":"MySQL 5.7\u5bb9\u5668\u542f\u505c\u4e0e\u5d29\u6e83\u6062\u590d\u673a\u5236"},"content":{"rendered":"\n<p><strong>docker stop \u6b63\u5e38\u505c \u2192 \u4e0d\u4f1a crash recovery\uff1bkill -9 \/ \u5f02\u5e38\u5b95\u673a \u2192 \u91cd\u542f\u5fc5\u505a crash recovery<\/strong>\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e00\u3001\u4e24\u79cd stop \u7684\u533a\u522b<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>docker stop\uff08\u9ed8\u8ba4 10s \u4f18\u96c5\u5173\u95ed\uff09<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MySQL \u6536\u5230 SIGTERM\uff0c\u8d70\u6b63\u5e38 shutdown\uff1a\n<ul class=\"wp-block-list\">\n<li>\u505c\u6b62\u65b0\u8fde\u63a5\uff0c\u56de\u6eda\u6d3b\u8dc3\u4e8b\u52a1<\/li>\n\n\n\n<li>\u810f\u9875\u5168\u90e8\u5237\u76d8\uff0c\u5199 checkpoint<\/li>\n\n\n\n<li>\u6b63\u5e38\u5173\u95ed redo\/undo log<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u91cd\u542f\u65f6 error log\uff1a<code>Database was shut down normally<\/code>\uff0c<strong>\u65e0 crash recovery<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>docker stop -t 0 \/kill -9 \/ \u5bb9\u5668\u88ab\u5f3a\u6740<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u76f4\u63a5\u65ad\u7535\uff0c<strong>\u4e0d\u8d70\u6b63\u5e38 shutdown<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5185\u5b58\u810f\u9875\u672a\u5237\u76d8\u3001checkpoint \u672a\u5199<\/li>\n\n\n\n<li>redo log \u6709\u672a\u5b8c\u6210\u4e8b\u52a1<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u91cd\u542f\u65f6 error log\uff1a<code>Database was not shut down normally<\/code>\uff0c<strong>\u5f3a\u5236\u8fdb\u5165 crash recovery<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e8c\u3001MySQL 5.7 InnoDB \u6062\u590d\u673a\u5236<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u5173\u95ed\uff1a<strong>\u8df3\u8fc7 redo \u91cd\u653e<\/strong>\uff0c\u76f4\u63a5\u542f\u52a8\u3002<\/li>\n\n\n\n<li>\u5f02\u5e38\u5173\u95ed\uff1a<strong>\u5fc5\u987b\u6267\u884c crash recovery<\/strong>\n<ol class=\"wp-block-list\">\n<li>\u91cd\u653e redo log\uff08\u524d\u6eda\u5df2\u63d0\u4ea4\u672a\u5237\u76d8\u6570\u636e\uff09<\/li>\n\n\n\n<li>\u56de\u6eda\u672a\u63d0\u4ea4\u4e8b\u52a1<\/li>\n\n\n\n<li>\u6e05\u7406 undo\/purge \u7b49MySQL\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e09\u3001\u5bb9\u5668\u573a\u666f\u5e38\u89c1\u73b0\u8c61<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7528 <code>docker-compose down<\/code> \/ <code>docker stop<\/code>\uff1a<strong>\u65e0 crash recovery<\/strong>\uff0c\u542f\u52a8\u5feb\u3002<\/li>\n\n\n\n<li>\u7528 <code>kill -9 $(pidof mysqld)<\/code> \/ \u5bbf\u4e3b\u673a\u65ad\u7535\uff1a<strong>\u5fc5 crash recovery<\/strong>\uff0c\u542f\u52a8\u6162\uff08\u53d6\u51b3\u4e8e redo \u5927\u5c0f\u4e0e\u8d1f\u8f7d\uff09\u3002<\/li>\n\n\n\n<li>\u65e5\u5fd7\u7279\u5f81\uff08crash recovery\uff09\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>InnoDB: Database was not shut down normally.\nInnoDB: Starting recovery from log files...\nInnoDB: Doing recovery: scanned up to log sequence number ...<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u56db\u3001\u5982\u4f55\u907f\u514d\u4e0d\u5fc5\u8981\u7684 crash recovery<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Always use <code>docker stop<\/code>\uff08\u7ed9\u8db3\u65f6\u95f4\uff0c\u5982 -t 300\uff09\u3002<\/li>\n\n\n\n<li>\u4e0d\u8981\u5728\u4e8b\u52a1\u9ad8\u5cf0\u671f\u5f3a\u6740\u5bb9\u5668\u3002<\/li>\n\n\n\n<li>\u5173\u952e\u73af\u5883\u914d\u7f6e <code>innodb_fast_shutdown=0<\/code>\uff08\u6b63\u5e38\u5173\u95ed\u65f6\u5168\u91cf\u5237\u76d8\uff0c\u66f4\u5b89\u5168\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\">innodb_fast_shutdown=0 \u8be6\u89e3\uff08MySQL5.7 \u5bb9\u5668\u9002\u914d\uff09<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e00\u3001\u53c2\u6570\u53d6\u503c\u542b\u4e49<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. innodb_fast_shutdown \u4e09\u4e2a\u503c<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>1\uff08\u9ed8\u8ba4\uff09<\/strong>\uff1a\u5feb\u901f\u5173\u95ed\u4e0d\u5237\u5168\u91cf\u810f\u9875\u3001\u53ea\u505a\u6700\u5c0f\u5316\u5173\u95ed\uff0c\u901f\u5ea6\u5feb\uff0c<strong>\u91cd\u542f\u5927\u6982\u7387\u89e6\u53d1 crash recovery<\/strong>\u3002<\/li>\n\n\n\n<li><strong>2<\/strong>\uff1a\u6700\u5feb\u901f\u76f4\u63a5\u4e22\u5f03\u7f13\u51b2\u6c60\u810f\u9875\uff0c\u76f8\u5f53\u4e8e<strong>\u5f02\u5e38\u5b95\u673a<\/strong>\uff0c\u91cd\u542f<strong>\u5fc5\u8d70\u5d29\u6e83\u6062\u590d<\/strong>\u3002<\/li>\n\n\n\n<li><strong>0<\/strong>\uff1a<strong>\u5b8c\u6574\u4f18\u96c5\u5173\u95ed<\/strong>\u505c\u673a\u65f6\u505a\u4e09\u4ef6\u4e8b\uff1a\n<ol class=\"wp-block-list\">\n<li>\u505c\u6b62\u65b0\u4e8b\u52a1\u3001\u56de\u6eda\u6d3b\u8dc3\u4e8b\u52a1<\/li>\n\n\n\n<li><strong>\u628a\u7f13\u51b2\u6c60\u6240\u6709\u810f\u9875\u5168\u90e8\u5237\u5230\u78c1\u76d8<\/strong><\/li>\n\n\n\n<li>\u6e05\u7a7a undo \u65e5\u5fd7\u3001\u5b8c\u6210 purge \u6e05\u7406\u3001\u843d\u5730\u6240\u6709\u4e8b\u52a1\u72b6\u6001<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e8c\u3001\u8bbe\u4e3a 0 \u7684\u6838\u5fc3\u6548\u679c<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>docker stop \u6b63\u5e38\u505c\u673a\u540e\uff0c\u91cd\u542f\u7edd\u5bf9\u4e0d\u4f1a\u8fdb crash recovery<\/strong><\/li>\n\n\n\n<li>\u505c\u673a<strong>\u8017\u65f6\u53d8\u957f<\/strong>\uff08\u810f\u9875\u8d8a\u591a\u3001\u6570\u636e\u91cf\u8d8a\u5927\uff0c\u5173\u5f97\u8d8a\u6162\uff09<\/li>\n\n\n\n<li>\u6570\u636e\u4e00\u81f4\u6027\u6700\u9ad8\uff0c\u9002\u5408<strong>\u751f\u4ea7\u5bb9\u5668\u3001\u4e3b\u4ece\u3001\u5b9a\u65f6\u91cd\u542f<\/strong>\u573a\u666f<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e09\u3001\u5bb9\u5668\u73af\u5883\u5173\u952e\u914d\u7f6e\u8981\u70b9<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. my.cnf \u914d\u7f6e\u5199\u5165<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;mysqld]\ninnodb_fast_shutdown = 0\n# \u5efa\u8bae\u914d\u5957\u52a0\u8fd9\u4e24\u4e2a\uff0c\u9002\u914d\u4f18\u96c5\u505c\u673a\ninnodb_buffer_pool_dump_at_shutdown = 1\ninnodb_buffer_pool_load_at_startup = 1<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. docker stop \u5fc5\u987b\u52a0\u957f\u8d85\u65f6<\/h3>\n\n\n\n<p><strong><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-orange-color\">\u56e0\u4e3a <code>0<\/code> \u5173\u95ed\u6162\uff0c\u9ed8\u8ba4 10 \u79d2\u4f1a\u8d85\u65f6\uff0c\u8d85\u65f6\u540e Docker \u76f4\u63a5\u53d1 kill -9\uff0c\u7b49\u4e8e\u767d\u8bbe\uff01<\/mark><\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u7ed9300\u79d2\u4f18\u96c5\u5173\u95ed\u65f6\u95f4\ndocker stop -t 300 mysql57<\/code><\/pre>\n\n\n\n<p>docker-compose \u4e5f\u8981\u6539\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  mysql:\n    image: mysql:5.7\n    stop_grace_period: 300s<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u56db\u3001\u4f18\u7f3a\u70b9\u603b\u7ed3<\/h2>\n\n\n\n<p>\u2705 \u4f18\u70b9<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38 stop \u91cd\u542f<strong>\u65e0 crash recovery<\/strong>\uff0c\u542f\u52a8\u5feb\u3001\u65e0\u65e5\u5fd7\u6062\u590d\u5f00\u9500<\/li>\n\n\n\n<li>\u6570\u636e\u843d\u5730\u5b8c\u6574\uff0c\u51cf\u5c11\u7d22\u5f15\u788e\u7247\u3001redo \u65e5\u5fd7\u6b8b\u7559<\/li>\n\n\n\n<li>\u4e3b\u4ece\u67b6\u6784\u4e0d\u6613\u51fa\u73b0 relay log \u5d29\u6e83\u3001\u4e8b\u52a1\u4e0d\u4e00\u81f4<\/li>\n<\/ul>\n\n\n\n<p>\u274c \u7f3a\u70b9<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5173\u673a\u7b49\u5f85\u65f6\u95f4\u660e\u663e\u589e\u52a0<\/li>\n\n\n\n<li>\u5927\u5185\u5b58\u3001\u5927\u8868\u3001\u9ad8\u810f\u9875\u573a\u666f\uff0c\u505c\u673a\u53ef\u80fd\u8981\u51e0\u5206\u949f<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e94\u3001\u6700\u4f73\u5b9e\u8df5\u5efa\u8bae<\/h2>\n\n\n\n<p>\u751f\u4ea7 MySQL5.7 \u5bb9\u5668<strong>\u5fc5\u8bbe <code>innodb_fast_shutdown=0<\/code><\/strong> + <code>stop_grace_period: 300s<\/code>\uff0c<\/p>\n\n\n\n<p>\u5f7b\u5e95\u89e3\u51b3\u300c\u6b63\u5e38 stop \u91cd\u542f\u8fd8\u81ea\u52a8 crash recovery\u300d\u7684\u95ee\u9898\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>docker stop \u6b63\u5e38\u505c \u2192 \u4e0d\u4f1a crash recovery\uff1bkill -9 \/ \u5f02\u5e38\u5b95\u673a \u2192 \u91cd\u542f\u5fc5\u505a crash recovery\u3002 \u4e00\u3001\u4e24\u79cd stop \u7684\u533a\u522b \u4e8c\u3001MySQL 5.7 InnoDB \u6062\u590d\u673a\u5236 \u4e09\u3001\u5bb9\u5668\u573a\u666f\u5e38\u89c1\u73b0\u8c61 \u56db\u3001\u5982\u4f55\u907f\u514d\u4e0d\u5fc5\u8981\u7684 crash recovery innodb_fast_shutdown=0 \u8be6\u89e3\uff08MySQL5.7 \u5bb9\u5668\u9002\u914d\uff09 \u4e00\u3001\u53c2\u6570\u53d6\u503c\u542b\u4e49 1. innodb_fast_shutdown \u4e09\u4e2a\u503c \u4e8c\u3001\u8bbe\u4e3a 0 \u7684\u6838\u5fc3\u6548\u679c \u4e09\u3001\u5bb9\u5668\u73af\u5883\u5173\u952e\u914d\u7f6e\u8981\u70b9 1. my.cnf \u914d\u7f6e\u5199\u5165 2. docker stop \u5fc5\u987b\u52a0\u957f\u8d85\u65f6 \u56e0\u4e3a 0 \u5173\u95ed\u6162\uff0c\u9ed8\u8ba4 10 \u79d2\u4f1a\u8d85\u65f6\uff0c\u8d85\u65f6\u540e Docker \u76f4\u63a5\u53d1 kill -9\uff0c\u7b49\u4e8e\u767d\u8bbe\uff01 docker-compose \u4e5f\u8981\u6539\uff1a \u56db\u3001\u4f18\u7f3a\u70b9\u603b\u7ed3 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-968","post","type-post","status-publish","format-standard","hentry","category-8"],"_links":{"self":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=968"}],"version-history":[{"count":1,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/968\/revisions"}],"predecessor-version":[{"id":970,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/968\/revisions\/970"}],"wp:attachment":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}