当前位置: 代码网 > it编程>数据库>Mysql > Mysql的基本文件组成和配置方式

Mysql的基本文件组成和配置方式

2025年10月10日 Mysql 我要评论
一、mysql安装的三个文件路径路径官方用途删除后意味着什么/data/mysql所有数据库文件(表、索引、系统表、undo/redo 等)相当于 windows 的 c:\programdata\m

一、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
  # 这个执行指令之后应该会在/etc下生成一个my.cnf 配置文件,方便后期进行修改配置

比如:

# 添加以下内容
[mysqld]
bind-address = 0.0.0.0
port = 3306
user = mysql
basedir = /home/doing/公共/programfiles/mysql
datadir = /data/mysql
socket = /tmp/mysql.sock
log-error = /data/mysql/mysql.err
pid-file = /data/mysql/mysql.pid
character_set_server = utf8mb4
symbolic-links = 0
explicit_defaults_for_timestamp = true
# 加上下面两行可以免密码登陆
skip-grant-tables
skip-networking         
  • 控制台会打印 临时 root 密码,务必记录
  • 若目录已存在且非空,请加 --initialize-insecure 空库(“空库”不是指数据目录为空,而是指 root 密码为空,方便你第一次手动做后续配置,但上线前务必自己设密码。)

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 &  #启动mysql服务这个时候就会生成对应的socker文件
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 实例。

到此这篇关于mysql的基本文件组成和配置的文章就介绍到这了,更多相关mysql文件组成和配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com