{"id":4551,"date":"2021-03-25T20:33:45","date_gmt":"2021-03-25T12:33:45","guid":{"rendered":"https:\/\/yanjingang.com\/blog\/?p=4551"},"modified":"2024-11-18T21:40:16","modified_gmt":"2024-11-18T13:40:16","slug":"docker%e5%ae%b9%e5%99%a8%e5%86%85%e8%bf%9e%e6%8e%a5%e5%ae%bf%e4%b8%bb%e6%9c%ba%e7%9a%84mysql%e6%9c%8d%e5%8a%a1%e5%99%a8","status":"publish","type":"post","link":"https:\/\/yanjingang.com\/blog\/?p=4551","title":{"rendered":"Docker\u2014\u5bb9\u5668\u5185\u8fde\u63a5\u5bbf\u4e3b\u673aMysql"},"content":{"rendered":"<p><span style=\"font-size: 1rem;\">\u4eca\u5929\u7528docker\u90e8\u7f72\u4e00\u4e2aweb\u670d\u52a1\u65f6\u9047\u5230\u603b\u662f\u8fde\u4e0d\u4e0a\u5bbf\u4e3b\u673amysql\u6570\u636e\u5e93\u7684\u95ee\u9898\uff0c\u62a5SQLSTATE[HY000] [2002] Connection refused\uff0c\u7ecf\u8fc7\u6d4b\u8bd5\uff0c\u5bbf\u4e3b\u673a\u7528\u76f8\u540c\u914d\u7f6e\u53ef\u4ee5\u8fde\u4e0a\uff0c\u767b\u5165docker\u5bb9\u5668\u5185\u5c31\u8fde\u4e0d\u4e0a\uff0c\u521d\u6b65\u5224\u65ad<\/span><span style=\"font-size: 1rem;\">\u5bb9\u5668\u5185\u901a\u8fc7localhost\u6216127.0.0.1\u662f\u8fde\u4e0d\u4e0a\u5bbf\u4e3b\u673a\u7684\u3002\u5177\u4f53\u539f\u56e0\u548c\u89e3\u51b3\u65b9\u6cd5\u5982\u4e0b\uff1a<\/span><\/p>\n<div>\n<h1>\u539f\u56e0\uff1a<\/h1>\n<p>1.docker\u5bb9\u5668\u5185\u7684localhost\u5e76\u4e0d\u662f\u6307\u5bbf\u4e3b\u673a\u7684localhost<\/p>\n<p>2.docker\u5728\u8fd0\u884c\u65f6\u5c31\u5efa\u7acb\u4e86\u865a\u62df\u7f51\u5361\uff0c\u5e76\u547d\u540d\u4e3adocker0\uff0c\u5728\u5bbf\u4e3b\u673aifconfig\u53ef\u4ee5\u770b\u5230\u7f51\u6865\u7684ip\u662f172.17.0.1(\u4e0d\u540c\u673a\u5668\u6216\u8005docker\u7248\u672cip\u53ef\u80fd\u4e0d\u540c\uff0c\u9700\u8981\u67e5\u4e0b\u81ea\u5df1\u7684\u662f\u591a\u5c11)<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">$ ifconfig  \r\ndocker0: flags=4099&lt;UP,BROADCAST,MULTICAST&gt;  mtu 1500\r\n        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255\r\n        ether 02:42:25:59:50:ef  txqueuelen 0  (Ethernet)\r\n        RX packets 10801  bytes 17612256 (16.7 MiB)\r\n        RX errors 0  dropped 0  overruns 0  frame 0\r\n        TX packets 10657  bytes 1168888 (1.1 MiB)\r\n        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0<\/code><\/pre>\n<h1>\u89e3\u51b3\u65b9\u6cd5\uff1a<\/h1>\n<p>1.\u5728\u5bb9\u5668\u5185\u901a\u8fc7172.17.0.1:3306\u8bbf\u95ee\u5bbf\u4e3b\u673a\u7684mysql<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">$ docker exec -it 8686d3dda02c \/bin\/sh\r\n $ mysql -ushowx -p --database showx -P3306 -h172.17.0.1  #\u53ef\u4ee5\u770b\u5230\u8fde\u4e0a\u4e86\uff0c\u53ea\u662fip\u6ca1\u6709\u8bbf\u95ee\u6388\u6743\r\nERROR 1130 (HY000): Host '172.17.0.2' is not allowed to connect to this MySQL server<\/code><\/pre>\n<p>2.\u8bbe\u7f6e\u5bbf\u4e3b\u673amysql\u5141\u8bb8docker0\u7684\u865a\u62df\u7f51\u5361ip\u8bbf\u95ee<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\"># \u5bbf\u4e3b\u673amysql\u8bbe\u7f6e\u5141\u8bb8\u7528\u6237showx\u901a\u8fc7172.17.0.2\u8bbf\u95eeshowx\u6570\u636e\u5e93\u7684\u4efb\u610f\u8868\r\n<\/code><code class=\"\"><span class=\"s1\">$ mysql -uroot -p<\/span>\r\n mysql&gt;GRANT ALL PRIVILEGES ON showx.* TO 'showx'@'172.17.0.2' IDENTIFIED BY 'password' WITH GRANT OPTION; \r\n mysql&gt;flush privileges; \r\n\r\n# docker\u5185\u6d4b\u8bd5docker0 ip\u94fe\u63a5\r\n$ docker exec -it 8686d3dda02c \/bin\/sh\r\n$ mysql -ushowx -p --database showx -P3306 -h172.17.0.1\r\nMySQL [showx]&gt;\r\n\r\n<\/code><\/pre>\n<p class=\"p1\">3.\u4fee\u6539\u5bb9\u5668web\u670d\u52a1\u7684db ip\u914d\u7f6e\u5373\u53ef<\/p>\n<p>yan 21.3.25<code class=\"\"><br \/>\n<\/code><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u5929\u7528docker\u90e8\u7f72\u4e00\u4e2aweb\u670d\u52a1\u65f6\u9047\u5230\u603b\u662f\u8fde\u4e0d\u4e0a\u5bbf\u4e3b\u673amysql\u6570\u636e\u5e93\u7684\u95ee\u9898\uff0c\u62a5SQLSTATE[HY00 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[708,7],"tags":[707,8],"_links":{"self":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/4551"}],"collection":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4551"}],"version-history":[{"count":1,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/4551\/revisions"}],"predecessor-version":[{"id":9651,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/4551\/revisions\/9651"}],"wp:attachment":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}