[{"data":1,"prerenderedAt":524},["ShallowReactive",2],{"page-/post/nuxt/local-init-mysql-by-docker":3,"surrounding-page":515},{"id":4,"title":5,"author":6,"body":7,"date":501,"description":502,"extension":503,"group":6,"lastmod":504,"meta":505,"navigation":101,"path":506,"rawbody":507,"seo":508,"showTitle":6,"stem":509,"tags":510,"versions":512,"__hash__":514},"content/post/nuxt/local-init-mysql-by-docker.md","为 Nuxt 应用 MySQL 和 Redis 服务",null,{"type":8,"value":9,"toc":499},"minimark",[10,14,17,20,47,60,211,214,457,476,495],[11,12,13],"p",{},"最近开始陆续架设数据库服务，打算起一个mysql服务，不同应用之间分库。自己管自己的。",[11,15,16],{},"同时有一个基础服务，用于给一些单纯提供api，不提供前端界面的Nitro服务提供鉴权",[11,18,19],{},"这里记录一下（本地Macos下）启动MySQL服务的命令，当然Debian上也是一样的",[21,22,27],"pre",{"className":23,"code":24,"language":25,"meta":26,"style":26},"language-shell shiki shiki-themes github-light","mkdir -p mysql/{data,conf,logs,backup}\n","shell","",[28,29,30],"code",{"__ignoreMap":26},[31,32,35,39,43],"span",{"class":33,"line":34},"line",1,[31,36,38],{"class":37},"s7eDp","mkdir",[31,40,42],{"class":41},"sYu0t"," -p",[31,44,46],{"class":45},"sYBdl"," mysql/{data,conf,logs,backup}\n",[21,48,50],{"className":23,"code":49,"language":25,"meta":26,"style":26},"touch mysql/conf/my.cnf\n",[28,51,52],{"__ignoreMap":26},[31,53,54,57],{"class":33,"line":34},[31,55,56],{"class":37},"touch",[31,58,59],{"class":45}," mysql/conf/my.cnf\n",[21,61,65],{"className":62,"code":63,"language":64,"meta":26,"style":26},"language-txt shiki shiki-themes github-light","[mysqld]\n# 字符集\ncharacter-set-server=utf8mb4\ncollation-server=utf8mb4_unicode_ci\nbind-address=127.0.0.1\n\n# 默认认证插件\ndefault_authentication_plugin=mysql_native_password\n\n# 最大连接数\nmax_connections=1000\n\n# 缓冲池大小\ninnodb_buffer_pool_size=512M\n\n# 日志配置\nslow_query_log=1\nslow_query_log_file=/var/log/mysql/slow.log\nlong_query_time=2\n\n[client]\ndefault-character-set=utf8mb4\n\n[mysql]\ndefault-character-set=utf8mb4\n","txt",[28,66,67,72,78,84,90,96,103,109,115,120,126,132,137,143,149,154,160,166,172,178,183,189,195,200,206],{"__ignoreMap":26},[31,68,69],{"class":33,"line":34},[31,70,71],{},"[mysqld]\n",[31,73,75],{"class":33,"line":74},2,[31,76,77],{},"# 字符集\n",[31,79,81],{"class":33,"line":80},3,[31,82,83],{},"character-set-server=utf8mb4\n",[31,85,87],{"class":33,"line":86},4,[31,88,89],{},"collation-server=utf8mb4_unicode_ci\n",[31,91,93],{"class":33,"line":92},5,[31,94,95],{},"bind-address=127.0.0.1\n",[31,97,99],{"class":33,"line":98},6,[31,100,102],{"emptyLinePlaceholder":101},true,"\n",[31,104,106],{"class":33,"line":105},7,[31,107,108],{},"# 默认认证插件\n",[31,110,112],{"class":33,"line":111},8,[31,113,114],{},"default_authentication_plugin=mysql_native_password\n",[31,116,118],{"class":33,"line":117},9,[31,119,102],{"emptyLinePlaceholder":101},[31,121,123],{"class":33,"line":122},10,[31,124,125],{},"# 最大连接数\n",[31,127,129],{"class":33,"line":128},11,[31,130,131],{},"max_connections=1000\n",[31,133,135],{"class":33,"line":134},12,[31,136,102],{"emptyLinePlaceholder":101},[31,138,140],{"class":33,"line":139},13,[31,141,142],{},"# 缓冲池大小\n",[31,144,146],{"class":33,"line":145},14,[31,147,148],{},"innodb_buffer_pool_size=512M\n",[31,150,152],{"class":33,"line":151},15,[31,153,102],{"emptyLinePlaceholder":101},[31,155,157],{"class":33,"line":156},16,[31,158,159],{},"# 日志配置\n",[31,161,163],{"class":33,"line":162},17,[31,164,165],{},"slow_query_log=1\n",[31,167,169],{"class":33,"line":168},18,[31,170,171],{},"slow_query_log_file=/var/log/mysql/slow.log\n",[31,173,175],{"class":33,"line":174},19,[31,176,177],{},"long_query_time=2\n",[31,179,181],{"class":33,"line":180},20,[31,182,102],{"emptyLinePlaceholder":101},[31,184,186],{"class":33,"line":185},21,[31,187,188],{},"[client]\n",[31,190,192],{"class":33,"line":191},22,[31,193,194],{},"default-character-set=utf8mb4\n",[31,196,198],{"class":33,"line":197},23,[31,199,102],{"emptyLinePlaceholder":101},[31,201,203],{"class":33,"line":202},24,[31,204,205],{},"[mysql]\n",[31,207,209],{"class":33,"line":208},25,[31,210,194],{},[11,212,213],{},"禁止从远程连接数据库，如果从其他容器访问，需要加入同一个网络",[21,215,219],{"className":216,"code":217,"language":218,"meta":26,"style":26},"language-yaml shiki shiki-themes github-light","services:\n  mysql:\n    image: mysql:8.0\n    container_name: mysql_local\n    restart: unless-stopped\n    environment:\n      MYSQL_ROOT_PASSWORD: 123456\n      MYSQL_DATABASE: blog\n    ports:\n      - \"3306:3306\"\n    volumes:\n      - ./data:/var/lib/mysql\n      - ./conf/my.cnf:/etc/mysql/conf.d/my.cnf\n      - ./logs:/var/log/mysql\n      - ./backup:/backup\n  redis:\n    image: redis:7.0\n    container_name: redis_local\n    restart: unless-stopped\n    ports:\n      - \"6379:6379\"\n    volumes:\n      - ./redis_data:/data\n    command: redis-server --appendonly yes\n    networks:\n      - mysql_internal\nnetworks:\n  mysql_internal:\n    driver: bridge\n","yaml",[28,220,221,231,238,249,259,269,276,286,296,303,311,318,325,332,339,346,353,362,371,379,385,392,398,405,415,422,430,438,446],{"__ignoreMap":26},[31,222,223,227],{"class":33,"line":34},[31,224,226],{"class":225},"shJU0","services",[31,228,230],{"class":229},"sgsFI",":\n",[31,232,233,236],{"class":33,"line":74},[31,234,235],{"class":225},"  mysql",[31,237,230],{"class":229},[31,239,240,243,246],{"class":33,"line":80},[31,241,242],{"class":225},"    image",[31,244,245],{"class":229},": ",[31,247,248],{"class":45},"mysql:8.0\n",[31,250,251,254,256],{"class":33,"line":86},[31,252,253],{"class":225},"    container_name",[31,255,245],{"class":229},[31,257,258],{"class":45},"mysql_local\n",[31,260,261,264,266],{"class":33,"line":92},[31,262,263],{"class":225},"    restart",[31,265,245],{"class":229},[31,267,268],{"class":45},"unless-stopped\n",[31,270,271,274],{"class":33,"line":98},[31,272,273],{"class":225},"    environment",[31,275,230],{"class":229},[31,277,278,281,283],{"class":33,"line":105},[31,279,280],{"class":225},"      MYSQL_ROOT_PASSWORD",[31,282,245],{"class":229},[31,284,285],{"class":41},"123456\n",[31,287,288,291,293],{"class":33,"line":111},[31,289,290],{"class":225},"      MYSQL_DATABASE",[31,292,245],{"class":229},[31,294,295],{"class":45},"blog\n",[31,297,298,301],{"class":33,"line":117},[31,299,300],{"class":225},"    ports",[31,302,230],{"class":229},[31,304,305,308],{"class":33,"line":122},[31,306,307],{"class":229},"      - ",[31,309,310],{"class":45},"\"3306:3306\"\n",[31,312,313,316],{"class":33,"line":128},[31,314,315],{"class":225},"    volumes",[31,317,230],{"class":229},[31,319,320,322],{"class":33,"line":134},[31,321,307],{"class":229},[31,323,324],{"class":45},"./data:/var/lib/mysql\n",[31,326,327,329],{"class":33,"line":139},[31,328,307],{"class":229},[31,330,331],{"class":45},"./conf/my.cnf:/etc/mysql/conf.d/my.cnf\n",[31,333,334,336],{"class":33,"line":145},[31,335,307],{"class":229},[31,337,338],{"class":45},"./logs:/var/log/mysql\n",[31,340,341,343],{"class":33,"line":151},[31,342,307],{"class":229},[31,344,345],{"class":45},"./backup:/backup\n",[31,347,348,351],{"class":33,"line":156},[31,349,350],{"class":225},"  redis",[31,352,230],{"class":229},[31,354,355,357,359],{"class":33,"line":162},[31,356,242],{"class":225},[31,358,245],{"class":229},[31,360,361],{"class":45},"redis:7.0\n",[31,363,364,366,368],{"class":33,"line":168},[31,365,253],{"class":225},[31,367,245],{"class":229},[31,369,370],{"class":45},"redis_local\n",[31,372,373,375,377],{"class":33,"line":174},[31,374,263],{"class":225},[31,376,245],{"class":229},[31,378,268],{"class":45},[31,380,381,383],{"class":33,"line":180},[31,382,300],{"class":225},[31,384,230],{"class":229},[31,386,387,389],{"class":33,"line":185},[31,388,307],{"class":229},[31,390,391],{"class":45},"\"6379:6379\"\n",[31,393,394,396],{"class":33,"line":191},[31,395,315],{"class":225},[31,397,230],{"class":229},[31,399,400,402],{"class":33,"line":197},[31,401,307],{"class":229},[31,403,404],{"class":45},"./redis_data:/data\n",[31,406,407,410,412],{"class":33,"line":202},[31,408,409],{"class":225},"    command",[31,411,245],{"class":229},[31,413,414],{"class":45},"redis-server --appendonly yes\n",[31,416,417,420],{"class":33,"line":208},[31,418,419],{"class":225},"    networks",[31,421,230],{"class":229},[31,423,425,427],{"class":33,"line":424},26,[31,426,307],{"class":229},[31,428,429],{"class":45},"mysql_internal\n",[31,431,433,436],{"class":33,"line":432},27,[31,434,435],{"class":225},"networks",[31,437,230],{"class":229},[31,439,441,444],{"class":33,"line":440},28,[31,442,443],{"class":225},"  mysql_internal",[31,445,230],{"class":229},[31,447,449,452,454],{"class":33,"line":448},29,[31,450,451],{"class":225},"    driver",[31,453,245],{"class":229},[31,455,456],{"class":45},"bridge\n",[21,458,460],{"className":23,"code":459,"language":25,"meta":26,"style":26},"chmod -R 755 mysql\n",[28,461,462],{"__ignoreMap":26},[31,463,464,467,470,473],{"class":33,"line":34},[31,465,466],{"class":37},"chmod",[31,468,469],{"class":41}," -R",[31,471,472],{"class":41}," 755",[31,474,475],{"class":45}," mysql\n",[21,477,479],{"className":23,"code":478,"language":25,"meta":26,"style":26},"docker compose up -d\n",[28,480,481],{"__ignoreMap":26},[31,482,483,486,489,492],{"class":33,"line":34},[31,484,485],{"class":37},"docker",[31,487,488],{"class":45}," compose",[31,490,491],{"class":45}," up",[31,493,494],{"class":41}," -d\n",[496,497,498],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .shJU0, html code.shiki .shJU0{--shiki-default:#22863A}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}",{"title":26,"searchDepth":74,"depth":74,"links":500},[],"2025-02-27T02:41:22.000Z","Nuxt中如何使用Mysql和Redis服务，Docker配置详解","md","2025-03-02T02:25:41.000Z",{},"/post/nuxt/local-init-mysql-by-docker","---\ntitle: 为 Nuxt 应用 MySQL 和 Redis 服务\ndate: 2025-02-27 10:41:22\nlastmod: 2025-03-02 10:25:41\ntags: [\"Docker\"]\nversions: [\"macos\", \"docker\"]\ndescription: Nuxt中如何使用Mysql和Redis服务，Docker配置详解\n---\n最近开始陆续架设数据库服务，打算起一个mysql服务，不同应用之间分库。自己管自己的。\n\n同时有一个基础服务，用于给一些单纯提供api，不提供前端界面的Nitro服务提供鉴权\n\n这里记录一下（本地Macos下）启动MySQL服务的命令，当然Debian上也是一样的\n\n```shell\nmkdir -p mysql/{data,conf,logs,backup}\n```\n\n```shell\ntouch mysql/conf/my.cnf\n```\n\n```txt\n[mysqld]\n# 字符集\ncharacter-set-server=utf8mb4\ncollation-server=utf8mb4_unicode_ci\nbind-address=127.0.0.1\n\n# 默认认证插件\ndefault_authentication_plugin=mysql_native_password\n\n# 最大连接数\nmax_connections=1000\n\n# 缓冲池大小\ninnodb_buffer_pool_size=512M\n\n# 日志配置\nslow_query_log=1\nslow_query_log_file=/var/log/mysql/slow.log\nlong_query_time=2\n\n[client]\ndefault-character-set=utf8mb4\n\n[mysql]\ndefault-character-set=utf8mb4\n```\n\n禁止从远程连接数据库，如果从其他容器访问，需要加入同一个网络\n\n```yaml\nservices:\n  mysql:\n    image: mysql:8.0\n    container_name: mysql_local\n    restart: unless-stopped\n    environment:\n      MYSQL_ROOT_PASSWORD: 123456\n      MYSQL_DATABASE: blog\n    ports:\n      - \"3306:3306\"\n    volumes:\n      - ./data:/var/lib/mysql\n      - ./conf/my.cnf:/etc/mysql/conf.d/my.cnf\n      - ./logs:/var/log/mysql\n      - ./backup:/backup\n  redis:\n    image: redis:7.0\n    container_name: redis_local\n    restart: unless-stopped\n    ports:\n      - \"6379:6379\"\n    volumes:\n      - ./redis_data:/data\n    command: redis-server --appendonly yes\n    networks:\n      - mysql_internal\nnetworks:\n  mysql_internal:\n    driver: bridge\n```\n\n```shell\nchmod -R 755 mysql\n```\n\n```shell\ndocker compose up -d\n```",{"title":5,"description":502},"post/nuxt/local-init-mysql-by-docker",[511],"Docker",[513,485],"macos","XIsQQpzoaQ3QLqYmB8iq4tSxhRQS9lUH5LafNGNVw14",[516,520],{"title":517,"path":518,"stem":519},"OpenClaw 安装入门（Windows）","/post/zzao/openclaw/openclaw-install-windows","post/zzao/openclaw/openclaw-install-windows",{"title":521,"path":522,"stem":523},"假设你是AI，你的Skill应该是什么样的","/post/zzao/ai-skill-structure","post/zzao/ai-skill-structure",1779005086083]