LINUX如何安装MySQL数据库_Linux 5.7与8.0版本安装配置教程【数据库】


MySQL在Linux中可通过YUM(5.7)、APT(8.0)、tar.gz手动安装(5.7)或Docker(8.0)四种方式部署,各方法均涵盖依赖配置、服务启动、安全初始化及可选优化步骤。

如果您需要在Linux系统中部署MySQL数据库,但尚未完成安装与基础配置,则可能是由于缺少必要的依赖包、源配置错误或服务未正确启动。以下是针对MySQL 5.7与8.0两个主流版本的独立安装配置步骤:

一、通过YUM仓库安装MySQL 5.7(CentOS/RHEL 7)

该方法利用官方MySQL YUM仓库提供稳定、兼容性良好的5.7.x RPM包,避免手动编译的复杂性,并确保systemd服务管理正常。

1、下载并安装MySQL官方YUM仓库配置包:wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm && sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm

2、确认仓库启用状态,禁用8.0子仓库:sudo yum-config-manager --disable mysql80-community && sudo yum-config-manager --enable mysql57-community

3、执行安装命令:sudo yum install mysql-community-server -y

4、启动MySQL服务并设为开机自启:sudo systemctl start mysqld && sudo systemctl enable mysqld

5、获取初始root密码:sudo grep 'temporary password' /var/log/mysqld.log

6、运行安全配置向导,修改密码并移除不安全默认项:mysql_secure_installation

二、通过APT仓库安装MySQL 8.0(Ubuntu 20.04/22.04)

该方式适用于Debian系系统,使用MySQL官方提供的APT源,可直接安装8.0.x最新GA版本,包含默认启用的身份验证插件caching_sha2_password。

1、下载MySQL APT配置工具:wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb

2、安装配置包并交互选择8.0系列:sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb(在弹出界面中用方向键选中“mysql-8.0”,按Tab切换到OK后回车)

3、更新APT索引:sudo apt update

4、安装MySQL服务器主包:sudo apt install mysql-server -y

5、检查服务状态:sudo systemctl status mysql

6、若需修改root认证方式以兼容旧客户端,登录后执行:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongPass123'; FLUSH PRIVILEGES;

三、使用tar.gz二进制包手动安装MySQL 5.7(通用Linux)

该方式绕过包管理器,适用于无网络YUM/APT环境或需自定义安装路径的场景,所有文件解压即用,不写入系统数据库。

1、创建专用用户与数据目录:sudo groupadd mysql && sudo useradd -r -g mysql -s /bin/false mysql && sudo mkdir -p /opt/mysql/data && sudo chown mysql:mysql /opt/mysql/data

2、下载并解压二进制包(以x86_64为例):wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz && tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /opt/ && sudo ln -s /opt/mysql-5.7.44-linux-glibc2.12-x86_64 /opt/mysql

3、初始化数据目录:sudo /opt/mysql/bin/mysqld --initialize --user=mysql --datadir=/opt/mysql/data --basedir=/opt/mysql

4、生成SSL证书(可选但推荐):sudo /opt/mysql/bin/mysql_ssl_rsa_setup --datadir=/opt/mysql/data --user=mysql

5、复制并编辑配置文件:sudo cp /opt/mysql/support-files/my-default.cnf /etc/my.cnf,在[mysqld]段添加datadir=/opt/mysql/databasedir=/opt/mysql

6、启动服务:sudo /opt/mysql/bin/mysqld_safe --user=mysql &

四、使用Docker快速运行MySQL 8.0容器

该方式无需修改宿主机环境,适合开发测试或CI/CD临时实例,所有配置通过环境变量与挂载卷实现持久化与定制化。

1、拉取官方MySQL 8.0镜像:docker pull mysql:8.0

2、运行容器并映射端口、设置root密码、挂载配置与数据卷:docker run -d --name mysql80 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=MyPass123 -v /mydata/mysql80/conf:/etc/mysql/conf.d -v /mydata/mysql80/data:/var/lib/mysql -d mysql:8.0

3、查看容器日志确认初始化完成:docker logs mysql80 | grep "root@localhost"

4、进入容器执行SQL操作:docker exec -it mysql80 mysql -uroot -pMyPass123

5、如需自定义字符集,在挂载的conf目录下创建utf8mb4.cnf,内容为:[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci


# mysql  # linux  # word  # centos  # docker  # 端口  # ubuntu  # 工具  # ssl  # 环境变量  # 解压  # 配置文件  # sql  # var  # default  # 数据库  # https  # debian  # 适用于  # 自定义  # 可选  # 设为  # 服务管理  # 镜像  # 为例  # 管理器  # 四种  # 可直接 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化76771 】 【 技术知识130152 】 【 IDC云计算60162 】 【 营销推广131313 】 【 AI优化88182 】 【 百度推广37138 】 【 网站推荐60173 】 【 精选阅读31334


相关推荐: Python数据挖掘核心算法实践_聚类分类与特征工程  mac本地php环境如何开启curl_curl扩展启用与测试步骤详解【汇总】  MAC怎么截图并快速编辑_MAC自带截图快捷键与标注工具使用【方法】  Win11怎么把图标拖到任务栏_Win11固定应用快捷方式指南【方法】  LINUX怎么进行文本内容搜索_Linux grep命令正则表达式用法大全【教程】  Golang如何遍历目录文件_Golang filepath.Walk目录遍历操作方法  如何在Golang中捕获JSON序列化错误_Golangjson.Marshal错误处理示例  php能跑在stm32上吗_php在stm32微控制器上的移植方法【介绍】  Golang如何实现基本的用户注册_Golang用户注册表单处理示例  Windows笔记本无法进入睡眠模式怎么办?(电源疑难解答)  Mac上的iMovie如何剪辑视频?(新手入门教程)  php485在macos下怎么配置_php485 macOS系统配置指南【解答】  Windows10怎么卸载预装软件_Windows10预装软件卸载步骤【教程】  Django 密码修改后会话失效的解决方案  如何在包含多值的列中精准搜索指定演员?  如何使用Golang配置安全开发环境_防止敏感信息泄露  如何在Golang中实现自定义Benchmark_Golang testing.B自定义性能测量示例  php和redis连接超时怎么办_phpredis调试连接问题汇总【指南】  Win10任务栏天气和资讯怎么关闭 Win10禁用新闻和兴趣功能【教程】  Win11怎么开启游戏模式_Win11优化游戏帧数性能【教程】  Win11怎么开启智能存储_Windows11存储感知自动清理文件  Go语言中CookieJar的持久化机制解析:内存存储与自定义持久化方案  如何在Golang中使用container/heap实现堆_Golang container/heap最小堆方法  Win11怎么快速锁屏_Win11一键锁屏快捷键Win+L【基础】  Win11怎么设置指纹解锁 Win11笔记本录入指纹登录【教程】  Win11怎么开启远程桌面_Win11系统远程桌面启用开关  Mac自带的词典App怎么用_Mac添加和使用多语言词典【技巧】  php查询数据怎么分组_groupby分组查询配合聚合函数【技巧】  Python变量绑定机制_引用模型解析【教程】  如何使用Golang管理跨项目依赖_Golang多模块项目依赖实践  如何用正则表达式精确匹配“start”到“end”之间最多含一个换行符的文本段  如何使用Golang table-driven基准测试_多组数据测量函数效率  如何在 Go 中正确初始化结构体中的 map 字段  Mac如何将HEIC图片格式转为JPG_Mac批量转换图片【指南】  Windows服务启动类型恢复方法_错误修改导致的系统服务异常  PHP 中如何在函数内持久修改引用变量所指向的目标  Python包结构设计_大型项目组织解析【指导】  Win11如何设置开机问候语 Win11修改登录界面提示【技巧】  Win10怎么卸载爱奇艺_Win10彻底卸载爱奇艺方法【步骤】  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  如何使用Golang优化模块引入路径_Golanggo mod tidy清理与优化方法  Win11如何更改任务栏颜色 Win11自定义任务栏背景色【美化】  Win11怎么设置麦克风权限_允许应用访问Win11麦克风【详解】  如何在Golang中编写异步函数测试_Golang异步操作测试策略  Win10闹钟铃声怎么自定义 Win10闹钟自定义铃声教程【方法】  LINUX如何删除用户和用户组_Linux userdel和groupdel命令用法【系统管理】  Laravel 查询 JSON 列:高效筛选包含数组中任意值的记录  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  PHP怎么接收前端传的时间戳_处理时间戳参数转换技巧汇总【指南】  如何在 Go 中正确反序列化 XML 多节点数组(解决仅解析首个元素的问题) 

 2025-12-18

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

致胜网络推广营销网


致胜网络推广营销网

致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 915688610

 17370845950

 915688610@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.