{"id":39,"date":"2025-11-11T16:43:57","date_gmt":"2025-11-11T08:43:57","guid":{"rendered":"http:\/\/www.commonlife.top\/?p=39"},"modified":"2025-11-11T19:55:36","modified_gmt":"2025-11-11T11:55:36","slug":"docker%e4%b8%admysql%e9%83%a8%e7%bd%b2","status":"publish","type":"post","link":"http:\/\/www.commonlife.top\/index.php\/2025\/11\/11\/docker%e4%b8%admysql%e9%83%a8%e7%bd%b2\/","title":{"rendered":"docker\u4e2dmysql\u90e8\u7f72"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">1\u3001MySQL Docker \u955c\u50cf\u62c9\u53d6\u4e0e\u90e8\u7f72<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1.1 \u955c\u50cf\u62c9\u53d6<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.1.1 \u4ece\u534e\u4e3a\u4e91\u62c9\u53d6 MySQL 8.0 \u955c\u50cf<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u6267\u884c\u955c\u50cf\u62c9\u53d6\u547d\u4ee4\ndocker pull swr.cn-east-3.myhuaweicloud.com\/library\/mysql:8.0\n\n# \u9a8c\u8bc1\u955c\u50cf\u662f\u5426\u62c9\u53d6\u6210\u529f\ndocker images | grep mysql<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.2 \u73af\u5883\u51c6\u5907<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.2.1 \u521b\u5efa\u6570\u636e\u5b58\u50a8\u76ee\u5f55<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u521b\u5efa\u6570\u636e\u5b58\u50a8\u548c\u914d\u7f6e\u76ee\u5f55\nsudo mkdir -p \/host\/mysql\/data \/host\/mysql\/conf \/host\/mysql\/backup\n\n# \u8bbe\u7f6e\u6b63\u786e\u7684\u76ee\u5f55\u6743\u9650\nsudo chmod -R 755 \/host\/mysql<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.3 \u5bb9\u5668\u90e8\u7f72<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.3.1 \u8fd0\u884c MySQL \u5bb9\u5668<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d \\\n  --name mysql-server \\\n  -e MYSQL_RANDOM_ROOT_PASSWORD=yes \\\n  -e MYSQL_DATABASE=myapp \\\n  -e MYSQL_USER=xiaojiu \\\n  -e MYSQL_PASSWORD=admin@123 \\\n  -p 3306:3306 \\\n  -v \/host\/mysql\/data:\/var\/lib\/mysql \\\n  -v \/host\/mysql\/conf:\/etc\/mysql\/conf.d \\\n  swr.cn-east-3.myhuaweicloud.com\/library\/mysql:8.0<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">1.3.2 \u73af\u5883\u53d8\u91cf\u914d\u7f6e\u8bf4\u660e<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>MYSQL_RANDOM_ROOT_PASSWORD=yes<\/code>\uff1a\u81ea\u52a8\u751f\u6210\u5b89\u5168\u7684\u968f\u673a root \u5bc6\u7801<\/li>\n\n\n\n<li><code>MYSQL_DATABASE=myapp<\/code>\uff1a\u521b\u5efa\u9ed8\u8ba4\u6570\u636e\u5e93<\/li>\n\n\n\n<li><code>MYSQL_USER=xiaojiu<\/code>\uff1a\u521b\u5efa\u5e94\u7528\u7528\u6237<\/li>\n\n\n\n<li><code>MYSQL_PASSWORD=admin@123<\/code>\uff1a\u8bbe\u7f6e\u7528\u6237\u5bc6\u7801<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">1.4 \u72b6\u6001\u9a8c\u8bc1<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.4.1 \u68c0\u67e5\u5bb9\u5668\u8fd0\u884c\u72b6\u6001<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u67e5\u770b\u5bb9\u5668\u8fd0\u884c\u72b6\u6001\ndocker ps\n\n# \u67e5\u770b\u5bb9\u5668\u8be6\u7ec6\u4fe1\u606f\ndocker inspect mysql-server\n\n# \u76d1\u63a7\u5bb9\u5668\u65e5\u5fd7\ndocker logs mysql-server\n\n# \u83b7\u53d6\u81ea\u52a8\u751f\u6210\u7684 root \u5bc6\u7801\ndocker logs mysql-server | grep \"GENERATED ROOT PASSWORD\"<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.5 \u6570\u636e\u5e93\u8fde\u63a5\u6d4b\u8bd5<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.5.1 \u8fde\u63a5\u5230 MySQL \u6570\u636e\u5e93<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u4f7f\u7528 root \u7528\u6237\u8fde\u63a5\uff08\u9700\u8981\u8f93\u5165\u81ea\u52a8\u751f\u6210\u7684\u5bc6\u7801\uff09\ndocker exec -it mysql-server mysql -u root -p\n\n# \u4f7f\u7528\u521b\u5efa\u7684\u5e94\u7528\u7528\u6237\u8fde\u63a5\ndocker exec -it mysql-server mysql -u xiaojiu -padmin@123 myapp<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">1.5.2 \u6570\u636e\u5e93\u57fa\u672c\u64cd\u4f5c<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>-- \u663e\u793a\u6240\u6709\u6570\u636e\u5e93\nSHOW DATABASES;\n\n-- \u4f7f\u7528 myapp \u6570\u636e\u5e93\nUSE myapp;\n\n-- \u521b\u5efa\u6d4b\u8bd5\u8868\nCREATE TABLE users (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    username VARCHAR(50) NOT NULL,\n    email VARCHAR(100),\n    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\n-- \u63d2\u5165\u6d4b\u8bd5\u6570\u636e\nINSERT INTO users (username, email) VALUES ('test_user', 'test@example.com');\n\n-- \u67e5\u8be2\u6570\u636e\u9a8c\u8bc1\nSELECT * FROM users;\n\n-- \u67e5\u770b\u7528\u6237\u6743\u9650\nSHOW GRANTS FOR 'xiaojiu'@'%';\n\n-- \u9000\u51fa MySQL \u5ba2\u6237\u7aef\nEXIT;<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.6 \u955c\u50cf\u7ba1\u7406<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.6.1 \u955c\u50cf\u6807\u7b7e\u4f18\u5316<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u4e3a\u534e\u4e3a\u4e91\u955c\u50cf\u6253\u4e0a\u7b80\u5316\u6807\u7b7e\ndocker tag swr.cn-east-3.myhuaweicloud.com\/library\/mysql:8.0 mysql:8.0\n\n# \u9a8c\u8bc1\u6807\u7b7e\u521b\u5efa\ndocker images\n\n# \u4f7f\u7528\u7b80\u5316\u6807\u7b7e\u8fd0\u884c\u6d4b\u8bd5\u5bb9\u5668\ndocker run -d --name mysql-test mysql:8.0<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.7 \u5bb9\u5668\u7ba1\u7406<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.7.1 \u65e5\u5e38\u7ef4\u62a4\u547d\u4ee4<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u505c\u6b62\u5bb9\u5668\ndocker stop mysql-server\n\n# \u542f\u52a8\u5bb9\u5668\ndocker start mysql-server\n\n# \u91cd\u542f\u5bb9\u5668\ndocker restart mysql-server\n\n# \u5220\u9664\u5bb9\u5668\uff08\u8c28\u614e\u64cd\u4f5c\uff09\ndocker rm -f mysql-server\n\n# \u8fdb\u5165\u5bb9\u5668\u5185\u90e8\ndocker exec -it mysql-server bash\n\n# \u76d1\u63a7\u5bb9\u5668\u8d44\u6e90\u4f7f\u7528\ndocker stats mysql-server<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.8 \u6570\u636e\u7ba1\u7406<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.8.1 \u6570\u636e\u5e93\u5907\u4efd\u64cd\u4f5c<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u521b\u5efa\u5907\u4efd\u76ee\u5f55\nsudo mkdir -p \/host\/mysql\/backup\n\n# \u5907\u4efd\u6240\u6709\u6570\u636e\u5e93\ndocker exec mysql-server mysqldump -u root -p&#91;\u751f\u6210\u7684\u5bc6\u7801] --all-databases &gt; \/host\/mysql\/backup\/all_databases_$(date +%Y%m%d).sql\n\n# \u5907\u4efd\u7279\u5b9a\u6570\u636e\u5e93\ndocker exec mysql-server mysqldump -u xiaojiu -padmin@123 myapp &gt; \/host\/mysql\/backup\/myapp_backup.sql<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">1.8.2 \u6570\u636e\u5e93\u6062\u590d\u64cd\u4f5c<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u6062\u590d\u6570\u636e\u5e93\ndocker exec -i mysql-server mysql -u root -p&#91;\u751f\u6210\u7684\u5bc6\u7801] &lt; \/host\/mysql\/backup\/backup.sql<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.9 \u6545\u969c\u6392\u67e5<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.9.1 \u5e38\u89c1\u95ee\u9898\u89e3\u51b3\u65b9\u6848<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u68c0\u67e5\u5bb9\u5668\u65e5\u5fd7\ndocker logs mysql-server\n\n# \u6743\u9650\u95ee\u9898\u4fee\u590d\nsudo chown -R 999:999 \/host\/mysql\/data\nsudo chmod -R 755 \/host\/mysql\/data\n\n# \u9a8c\u8bc1\u76ee\u5f55\u6743\u9650\nls -la \/host\/mysql\/\n\n# \u91cd\u65b0\u542f\u52a8\u670d\u52a1\ndocker start mysql-server<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.10 \u914d\u7f6e\u4f18\u5316<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.10.1 \u81ea\u5b9a\u4e49 MySQL \u914d\u7f6e<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u521b\u5efa\u81ea\u5b9a\u4e49\u914d\u7f6e\u6587\u4ef6\nsudo vi \/host\/mysql\/conf\/custom.cnf<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">1.10.2 \u914d\u7f6e\u6587\u4ef6\u793a\u4f8b<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;mysqld]\n# \u5b57\u7b26\u96c6\u914d\u7f6e\ncharacter-set-server=utf8mb4\ncollation-server=utf8mb4_unicode_ci\n\n# \u8fde\u63a5\u914d\u7f6e\nmax_connections=1000\nwait_timeout=28800\n\n# \u6027\u80fd\u4f18\u5316\ninnodb_buffer_pool_size=256M\n\n# \u65e5\u5fd7\u914d\u7f6e\nslow_query_log=1\nslow_query_log_file=\/var\/log\/mysql\/slow.log\nlong_query_time=2<\/code><\/pre>\n\n\n<p>[client]<\/p>\n\n\n\n<p>default-character-set=utf8mb4<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.11 \u7f51\u7edc\u8fde\u63a5\u9a8c\u8bc1<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.11.1 \u5916\u90e8\u8fde\u63a5\u6d4b\u8bd5<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># \u5b89\u88c5 MySQL \u5ba2\u6237\u7aef\u5de5\u5177\nsudo apt-get update &amp;&amp; sudo apt-get install mysql-client -y\n\n# \u4ece\u5bbf\u4e3b\u673a\u8fde\u63a5\u6d4b\u8bd5\nmysql -h 127.0.0.1 -P 3306 -u xiaojiu -padmin@123 myapp\n\n# \u67e5\u770b\u5bb9\u5668\u7f51\u7edc\u4fe1\u606f\ndocker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql-server<\/code><\/pre>\n\n\n\n<p>\u73b0\u5728\u60a8\u5df2\u7ecf\u5b8c\u6210\u4e86\u4ece\u955c\u50cf\u62c9\u53d6\u5230 MySQL \u5bb9\u5668\u5b8c\u6574\u90e8\u7f72\u7684\u6240\u6709\u6b65\u9aa4\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1\u3001MySQL Docker \u955c\u50cf\u62c9\u53d6\u4e0e\u90e8\u7f72 1.1 \u955c\u50cf\u62c9\u53d6 1.1.1 \u4ece\u534e\u4e3a\u4e91\u62c9\u53d6 MySQL 8.0  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":41,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-39","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker"],"_links":{"self":[{"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/posts\/39","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/comments?post=39"}],"version-history":[{"count":1,"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/posts\/39\/revisions"}],"predecessor-version":[{"id":40,"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/posts\/39\/revisions\/40"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/media\/41"}],"wp:attachment":[{"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/media?parent=39"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/categories?post=39"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.commonlife.top\/index.php\/wp-json\/wp\/v2\/tags?post=39"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}