当前位置: 首页 > news >正文

【Linux】Mysql的基本文件组成和配置

一、mysql安装的三个文件路径

路径官方用途删除后意味着什么
/data/mysql所有数据库文件(表、索引、系统表、Undo/Redo 等)
相当于 Windows 的 C:\ProgramData\MySQL\data
数据全部消失,且无法恢复(除非有备份)
/etc/mysql配置文件 总目录
包含 my.cnf*conf.d/*.cnf、SSL 证书、debian-start 脚本等
删除后 MySQL 会退回编译默认值,端口、字符集、慢查询等设置全部丢失
/var/log/mysql*错误日志、慢查询日志、通用查询日志、二进制日志
例如 error.logslow.logbinlog.*
删除后无法追溯历史故障无法 point-in-time 恢复(若无远程 binlog 备份)

一句话总结

  • /data/mysql = 数据命根子
  • /etc/mysql = 配置命根子
  • /var/log/mysql* = 日志命根子

生产环境请务必先 全量备份 再执行 rm -rf

二、开始配置mysql

# MySQL 二进制压缩包手动安装流程(Linux 通用)> 适用于官方 `.tar.gz` 解压版,无需 rpm/apt,全步骤可复制粘贴。
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

1. 解压安装包

sudo tar -zxvf /path/to/mysql-<version>-linux-glibc2.12-<arch>.tar.gz -C /usr/local

解压后得到目录 /usr/local/mysql-<version>
(下文用 /usr/local/mysql 指代,可建软链接方便升级)


2. 创建系统用户/组

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

-s /bin/false 禁止系统登录,仅用于跑服务


3. 目录权限

sudo chown -R mysql:mysql /usr/local/mysql-<version>
sudo chmod 750 /usr/local/mysql-<version>

4. 初始化数据目录

sudo /usr/local/mysql/bin/mysqld \--initialize --user=mysql \--basedir=/usr/local/mysql \--datadir=/data/mysql
  • 控制台会打印 临时 root 密码,务必记录
  • 若目录已存在且非空,请加 --initialize-insecure 强制空库
    mysql 文件夹内容

5. 配置环境变量

echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile
source /etc/profile

也可写入 ~/.bashrc/etc/bash.bashrc


6. 启动服务

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
ps -ef | grep mysql          # 验证是否存活

首次启动建议在前台观察日志:tail -f /usr/local/mysql/data/mysql.err


7. 修改 root 密码

mysql -u root -p              # 输入临时密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;

8. 安全加固

sudo /usr/local/mysql/bin/mysql_secure_installation

按提示完成:
✓ 设置 root 密码强度
✓ 移除匿名用户
✓ 禁止 root 远程登录
✓ 删除 test 库
✓ 重载权限表


9. 常用后续操作(可选)

任务命令示例
注册系统服务support-files/mysql.server 或手动写 systemd 单元
开机自启systemctl enable mysql
备份mysqldump -uroot -p --single-transaction --routines --triggers --events db1 | gzip > db1_$(date +%F).sql.gz
忘记密码停库 → mysqld_safe --skip-grant-tables --skip-networking &ALTER USER ...
多实例复制 my.cnf,改 port/datadir/socket,再启动一份 mysqld_safe

10. 目录结构速记

/usr/local/mysql/
├── bin           # 客户端/服务端可执行文件
├── lib           # 动态库
├── share         # 错误消息文件、字符集
├── support-files # 示例配置与服务脚本
└── data          # 初始化后生成的库文件(需 chown mysql:mysql)

完成以上 8 步即可得到一套干净、可生产使用的 MySQL 8.x 实例。


http://www.dtcms.com/a/445575.html

相关文章:

  • 简单易用!NAS+Leantime,开源轻量级项目管理,高效协作一键开启
  • 大数据毕业设计选题推荐-基于大数据的全球用水量数据可视化分析系统-大数据-Spark-Hadoop-Bigdata
  • NLP:迁移学习关于领域自适应的基础讲解
  • 在运行中的 Kafka 集群渐进式启用安全零停机实战手册(KRaft/Broker 通用)
  • 网站手机版制作白嫖永久服务器
  • 用一个 Bash CLI 管理多款 AI 开发工具:jt-code-cli 实战与原理解析
  • Linux《线程同步和互斥(下)》
  • 百丽企业数字化转型失败案例分析及其AI智能名片S2B2C商城小程序的适用性探讨
  • 【STM32项目开源】基于STM32的智能宠物防丢监控系统
  • UV紫外相机在工业视觉检测中的应用
  • Redis-UV统计(HyperLogLog)
  • PHP 8.0+ 极限性能优化与系统级编程
  • Deep Learning Optimizer | Adam、AdamW
  • 【linux】linux的扩充指令的学习
  • vim保姆级使用,操作详解,快捷键大全总结
  • jmr119色带贵港seo
  • NLP:迁移学习基础讲解
  • 10.5 数位dp
  • 基于汽车钣金理念的门窗柔性生产系统重构方案
  • 做网站要哪些技术查企业法人信息查询平台
  • Go语言入门(20)-nil
  • Go基础:Go语言ORM框架GORM详解
  • 备案 网站备注网站用的服务器多少钱
  • 《API网关在智能制造产线协同中的定制化实践与可靠性重构》
  • 建设网站的调研报告校园电子商务网站建设规划书实例
  • 书生浦语第六期 L1-G2000
  • AI大事记9:从 AlexNet 到 ChatGPT——深度学习的十年跃迁(上)
  • 删除无限递归文件夹
  • PyCharm 核心快捷键大全 (Windows版)
  • Android15 状态栏适配