MySQL5.7之数据库初始化过程

ops/2024/11/15 8:22:21/

文章目录

  • 参考
  • 在执行这条命令后mysqld做了什么?

参考

本文章参考

  • https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization.html
  • MySQL5.7源码安装

当通过tar包或者源码包安装完MySQL之后,需要执行数据目录初始化操作

## 如果不指定--datadir;默认是usr/local/mysql目录
bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql --datadir=/opt/mysql/mysql/data

mysqld_13">在执行这条命令后mysqld做了什么?

  1. 检查数据目录是否存在,不存在则创建它,创建失败报错mysqld: Can’t create directory ‘/usr/local/mysql/data/’ (Errcode: 2 - No such file or directory)

  2. 如果数据目录存在但是不为空(存在文件或者子目录)则报错退出[ERROR] --initialize specified but the data directory has files in it. Aborting.出现这种情况只需要把这个目录删除、移走、重命名即可。

  3. 在数据目录中创建mysql数据库和里面的表,包括grant表、time zone 表, server-side help 表。

  4. 初始化管理InnoDB表所需的系统表空间以及相关数据结构。

    mysqld设置InnoDB系统表空间后,表空间特性的一些更改需要建立全新的实例。符合要求的更改包括系统表空间中第一个文件的文件名和撤销日志的数量。如果不希望使用默认值,请确保在运行mysqld之前,MySQL配置文件中已设置了 innodb_data_file_pathinnodb_log_file_size配置参数的设置。同时,请根据需要指定其他影响InnoDB文件创建和位置的参数,如innodb_data_home_dirinnodb_log_group_home_dir
    如果这些选项在您的配置文件中,但该文件不在MySQL默认读取的位置,请在运行mysqld时使用–defaults-extra-file选项指定文件位置。

  5. 创建 ‘root’@‘localhost’ 超级root账户和其他预留账户,有些预留账户是locked状态不能被使用的。

    • 如果有参数 --initialize,root账号会随机生成密码。
    • 如果有参数 --initialize-insecure,root不会设置密码
  6. 服务器初始化用于HELP语句的server-side help 表,服务器不会初始化time zone 表。

  7. 如果为init_file系统变量指定了一个包含SQL语句的文件名,则服务器将执行该文件中的语句。此选项允许您执行自定义的引导序列。

    当服务器以引导模式运行时,某些功能不可用,这限制了文件中允许的语句。这些语句包括与帐户管理(如CREATE USER或GRANT)、复制和全局事务标识符相关的语句。

  8. 退出


http://www.ppmy.cn/ops/94060.html

相关文章

SRGAN:使用生成对抗网络对图像进行超分辨率重构

SRGAN:使用生成对抗网络对图像进行超分辨率重构 前言相关介绍SRGAN 的工作原理核心思想主要组件训练目标 优点缺点总结 实验环境项目地址LinuxWindows 项目结构具体用法准备数据集进行训练进行测试测试基准数据集测试单张图像测试单个视频 参考文献 前言 由于本人水…

海山数据库(He3DB)源码详解:CommitTransaction函数源码详解

文章目录 海山数据库(He3DB)源码详解:CommitTransaction函数1. 执行条件2. 执行过程2.1 获取当前节点状态:2.2 检查当前状态:2.3 预提交处理:2.4 提交处理:2.5 释放资源:2.6 提交事务: 作者介绍…

米联客-FPGA程序设计Verilog语法入门篇连载-08 Verilog语法_模块端口与例化

软件版本:无 操作系统:WIN10 64bit 硬件平台:适用所有系列FPGA 板卡获取平台:https://milianke.tmall.com/ 登录“米联客”FPGA社区 http://www.uisrc.com 视频课程、答疑解惑! 1概述 本小节讲解Verilog语法的模块…

使用 Prometheus 和 Grafana 监控 FastAPI 服务

在现代应用开发中,监控和可视化服务的运行状态和性能指标对于保证系统稳定性至关重要。本文将介绍如何使用 Prometheus 和 Grafana 对 FastAPI 服务进行监控和可视化,并展示如何通过 prometheus_fastapi_instrumentator 将 FastAPI 应用与 Prometheus 集…

Vue框架学习笔记-7

Vue-cli项目中的mixin Vue-cli 项目中的 mixin 是一种强大的功能,允许你在多个组件之间共享可复用的方法和/或选项。Mixin 本质上是一个对象,它可以包含组件选项中的任意选项,如数据、方法、生命周期钩子等。当组件使用 mixin 时&#xff0c…

基于YOLOv5的多目标社交距离监测系统(yolov5实现多目标检测,距离太近为红色,距离过近为黄色,距离适中为绿色)

本项目旨在利用计算机视觉技术,特别是目标检测算法,来实时监测公共场合中人群的社交距离情况。通过摄像头或视频输入,系统能够识别并跟踪个体,评估它们之间的距离,并根据这些距离来判断是否符合推荐的社交距离标准。系…

React 学习——react项目中加入echarts图

实现的代码如下: import * as echarts from echarts import { useEffect, useRef } from react; const Home ()>{const chartRef useRef(null);useEffect(()>{// const chartDom document.getElementById(main);//使用id获取节点const chartDom chartRef…

从0开始的算法(数据结构和算法)基础(八)

说了这么久的数据结构,理论性比较强,下面我们来进入算法部分,运用之前学的数据结构来实现算法。今天的主体部分是排序,难度不大。 排序 排序的算法是比较简单实用的算法,也是很多的算法的基础。也分很多种&#xff0c…