[{"data":1,"prerenderedAt":216},["ShallowReactive",2],{"content:\u002Fposts\u002Fubuntu-mysql-81":3,"surround:\u002Fposts\u002Fubuntu-mysql-81":206},{"id":4,"title":5,"body":6,"categories":181,"date":183,"description":184,"draft":185,"extension":186,"image":187,"meta":188,"navigation":190,"path":191,"permalink":187,"pinned":185,"published":187,"readingTime":192,"recommend":187,"references":187,"seo":197,"sitemap":198,"stem":199,"tags":200,"type":204,"updated":183,"__hash__":205},"content\u002Fposts\u002Fposts\u002Fubuntu-mysql-81.md","Ubuntu 安装 MySQL 8.1 完整指南",{"type":7,"value":8,"toc":170},"minimark",[9,19,24,35,41,45,54,60,64,70,74,98,104,108,114,120,124,132,138,142,148,154,160],[10,11,15],"alert",{"type":12,"icon":13,"title":14},"info","tabler:robot","AI 迁移提示",[16,17,18],"p",{},"本文由 AI 协助从旧站迁移，尚未完成逐篇人工审校；内容如有疏漏，将在复核后修订。",[20,21,23],"h2",{"id":22},"一确定-ubuntu-版本","一、确定 Ubuntu 版本",[25,26,32],"pre",{"className":27,"code":29,"language":30,"meta":31},[28],"language-bash","lsb_release -a\n","bash","",[33,34,29],"code",{"__ignoreMap":31},[25,36,39],{"className":37,"code":38,"language":30,"meta":31},[28],"# 示例输出\nroot@huanfa:\u002F# lsb_release -a\nNo LSB modules are available.\nDistributor ID: Ubuntu\nDescription:    Ubuntu 22.04.5 LTS\nRelease:        22.04\nCodename:       jammy\n",[33,40,38],{"__ignoreMap":31},[20,42,44],{"id":43},"二下载安装包","二、下载安装包",[16,46,47,48],{},"前往 MySQL 官网下载 DEB Bundle：",[49,50,51],"a",{"href":51,"rel":52},"https:\u002F\u002Fdownloads.mysql.com\u002Farchives\u002Fcommunity\u002F",[53],"nofollow",[25,55,58],{"className":56,"code":57,"language":30,"meta":31},[28],"# 下载对应版本（DEB Bundle）\nsudo wget https:\u002F\u002Fdownloads.mysql.com\u002Farchives\u002Fget\u002Fp\u002F23\u002Ffile\u002Fmysql-server_8.1.0-1ubuntu22.04_amd64.deb-bundle.tar\n",[33,59,57],{"__ignoreMap":31},[20,61,63],{"id":62},"三解压文件","三、解压文件",[25,65,68],{"className":66,"code":67,"language":30,"meta":31},[28],"# 建议先创建一个目录再解压，避免文件散落\nmkdir mysql-deb && cd mysql-deb\nsudo tar -xvf ..\u002Fmysql-server_8.1.0-1ubuntu22.04_amd64.deb-bundle.tar\n",[33,69,67],{"__ignoreMap":31},[20,71,73],{"id":72},"四安装-mysql","四、安装 MySQL",[10,75,76,87,93],{"type":12},[16,77,78,79,82,83,86],{},"安装过程中可能提示缺少 ",[33,80,81],{"code":81},"libaio1","、",[33,84,85],{"code":85},"libmecab2","，按以下方式处理：",[25,88,91],{"className":89,"code":90,"language":30,"meta":31},[28],"sudo apt-get update\nsudo apt-get install libaio1 libmecab2\n",[33,92,90],{"__ignoreMap":31},[16,94,95,97],{},[33,96,85],{"code":85}," 安装时会要求设置 root 密码。",[25,99,102],{"className":100,"code":101,"language":30,"meta":31},[28],"# 按顺序依次安装，包之间有依赖关系，顺序不能乱\nsudo dpkg -i mysql-common_8.1.0-1ubuntu22.04_amd64.deb\nsudo dpkg -i mysql-community-client-plugins_8.1.0-1ubuntu22.04_amd64.deb\nsudo dpkg -i libmysqlclient22_8.1.0-1ubuntu22.04_amd64.deb\nsudo dpkg -i libmysqlclient-dev_8.1.0-1ubuntu22.04_amd64.deb\nsudo dpkg -i mysql-community-client-core_8.1.0-1ubuntu22.04_amd64.deb\nsudo dpkg -i mysql-community-client_8.1.0-1ubuntu22.04_amd64.deb\nsudo dpkg -i mysql-client_8.1.0-1ubuntu22.04_amd64.deb\nsudo dpkg -i mysql-community-server-core_8.1.0-1ubuntu22.04_amd64.deb\nsudo dpkg -i mysql-community-server_8.1.0-1ubuntu22.04_amd64.deb\nsudo dpkg -i mysql-server_8.1.0-1ubuntu22.04_amd64.deb\n",[33,103,101],{"__ignoreMap":31},[20,105,107],{"id":106},"五验证安装","五、验证安装",[25,109,112],{"className":110,"code":111,"language":30,"meta":31},[28],"mysql -u root -p\n# 密码为安装 libmecab2 时设置的密码\n",[33,113,111],{"__ignoreMap":31},[25,115,118],{"className":116,"code":117,"language":30,"meta":31},[28],"# 正常安装后输出示例\nmysql> status\n--------------\nmysql  Ver 8.1.0 for Linux on x86_64 (MySQL Community Server - GPL)\n...\n",[33,119,117],{"__ignoreMap":31},[20,121,123],{"id":122},"六配置外部访问","六、配置外部访问",[25,125,130],{"className":126,"code":128,"language":129,"meta":31},[127],"language-sql","-- 查看用户信息\nselect host, user from mysql.user;\n\n-- 新建允许外部访问的 root 用户（推荐）\nCREATE USER root@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';\nGRANT ALL ON *.* TO root@'%' WITH GRANT OPTION;\nflush privileges;\nexit;\n","sql",[33,131,128],{"__ignoreMap":31},[25,133,136],{"className":134,"code":135,"language":30,"meta":31},[28],"# 修改 MySQL 配置文件，允许外部连接\nsudo vim \u002Fetc\u002Fmysql\u002Fmysql.conf.d\u002Fmysqld.cnf\n# 修改或添加：\nbind-address = 0.0.0.0\n\n# 重启 MySQL\nsudo service mysql restart\n",[33,137,135],{"__ignoreMap":31},[20,139,141],{"id":140},"七修改数据存储位置","七、修改数据存储位置",[25,143,146],{"className":144,"code":145,"language":30,"meta":31},[28],"# 停止 MySQL 服务\nsudo service mysql stop\n\n# 创建新目录并复制数据\nsudo mkdir -p \u002Fdata\u002Fmysql\nsudo cp -ar \u002Fvar\u002Flib\u002Fmysql \u002Fdata\u002Fmysql\nsudo chown -R mysql:mysql \u002Fdata\u002Fmysql\n\n# 修改 MySQL 配置\nsudo vim \u002Fetc\u002Fmysql\u002Fmysql.conf.d\u002Fmysqld.cnf\n# 将 datadir 修改为：\ndatadir = \u002Fdata\u002Fmysql\n",[33,147,145],{"__ignoreMap":31},[10,149,151],{"type":150},"warning",[16,152,153],{},"Ubuntu 有 AppArmor 访问控制，仅修改 MySQL 配置不够，还需同步修改 AppArmor 规则。",[25,155,158],{"className":156,"code":157,"language":30,"meta":31},[28],"# 修改 AppArmor 配置\nsudo vim \u002Fetc\u002Fapparmor.d\u002Fusr.sbin.mysqld\n# 找到：\n#   \u002Fvar\u002Flib\u002Fmysql\u002F r,\n#   \u002Fvar\u002Flib\u002Fmysql\u002F** rwk,\n# 修改为：\n#   \u002Fdata\u002Fmysql\u002F r,\n#   \u002Fdata\u002Fmysql\u002F** rwk,\n\n# 修改 abstractions 配置\nsudo vim \u002Fetc\u002Fapparmor.d\u002Fabstractions\u002Fmysql\n# 找到：\n#   \u002Fvar\u002Flib\u002Fmysql{,d}\u002Fmysql{,d}.sock rw\n# 修改为：\n#   \u002Fdata\u002Fmysql{,d}\u002Fmysql{,d}.sock rw\n\n# 重启 AppArmor 和 MySQL\nsudo service apparmor restart\nsudo service mysql start\n\n# 验证数据目录\nmysql -uroot -p -e \"show variables like '%datadir%';\"\n",[33,159,157],{"__ignoreMap":31},[10,161,163],{"type":162},"tip",[16,164,165,166],{},"安装完成后，建议使用 XtraBackup 定期备份数据库：",[49,167,169],{"href":168},"\u002Fposts\u002Fxtrabackup-backup","XtraBackup 备份与恢复",{"title":31,"searchDepth":171,"depth":171,"links":172},4,[173,175,176,177,178,179,180],{"id":22,"depth":174,"text":23},2,{"id":43,"depth":174,"text":44},{"id":62,"depth":174,"text":63},{"id":72,"depth":174,"text":73},{"id":106,"depth":174,"text":107},{"id":122,"depth":174,"text":123},{"id":140,"depth":174,"text":141},[182],"服务","2026-01-12","在 Ubuntu 22.04 上通过 DEB 包安装 MySQL 8.1 社区版，涵盖安装顺序、外部访问配置及自定义数据目录迁移。",false,"md",null,{"slots":189},{},true,"\u002Fposts\u002Fubuntu-mysql-81",{"text":193,"minutes":194,"time":195,"words":196},"3 min read",2.69,161400,538,{"title":5,"description":184},{"loc":191},"posts\u002Fposts\u002Fubuntu-mysql-81",[201,202,203],"MySQL","Ubuntu","数据库","tech","9W_g6nrfWPQ05AmgBZWBBRnM9930OeNZ4mz4KxQIADA",[207,212],{"title":208,"path":209,"stem":210,"date":211,"type":204,"children":-1},"CentOS 安装 MySQL 5.7 完整指南","\u002Fposts\u002Fcentos-mysql-57","posts\u002Fposts\u002Fcentos-mysql-57","2026-01-11",{"title":213,"path":168,"stem":214,"date":215,"type":204,"children":-1},"Xtrabackup MySQL 热备份工具使用指南","posts\u002Fposts\u002Fxtrabackup-backup","2026-01-13",1788712225489]