MySQL在Linux中可通过YUM(5.7)、APT(8.0)、tar.gz手动安装(5.7)或Docker(8.0)四种方式部署,各方法均涵盖依赖配置、服务启动、安全初始化及可选优化步骤。
如果您需要在Linux系统中部署MySQL数据库,但尚未完成安装与基础配置,则可能是由于缺少必要的依赖包、源配置错误或服务未正确启动。以下是针对MySQL 5.7与8.0两个主流版本的独立安装
配置步骤:
该方法利用官方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
该方式适用于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;
该方式绕过包管理器,适用于无网络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/data与basedir=/opt/mysql
6、启动服务:sudo /opt/mysql/bin/mysqld_safe --user=mysql &
该方式无需修改宿主机环境,适合开发测试或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
致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。