【总结】MySQL非root安装-初始化数据库时unknown variable ‘defaults-file=**/my.cnf‘

问题描述

使用非root安装mysql,使用 mysqld 初始化数据库时,不想使用/etc/my.cnf作为启动配置文件,而是指定自定义的my.cnf文件,在执行时,遇到ERROR unknown variable 'defaults-file=/data/infra/mysql/conf/my.cnf' 错误。

执行的命令: ./bin/mysqld --initialize-insecure --user=ftops --defaults-file=/data/infra/mysql/conf/my.cnf --basedir=/data/infra/mysql --datadir=/data/infra/mysql/data --socket=/data/infra/mysql/tmp/mysql.sock

复制代码
[ftops@ft-d-0192168016209 mysql]$ ./bin/mysqld --initialize-insecure --user=ftops --defaults-file=/data/infra/mysql/conf/my.cnf --basedir=/data/infra/mysql --datadir=/data/infra/mysql/data --socket=/data/infra/mysql/tmp/mysql.sock
2024-03-20T01:55:15.764417Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2024-03-20T01:55:15.891443Z 0 [Warning] InnoDB: New log files created, LSN=45790
2024-03-20T01:55:15.918429Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2024-03-20T01:55:15.973263Z 0 [ERROR] unknown variable 'defaults-file=/data/infra/mysql/conf/my.cnf'
2024-03-20T01:55:15.973273Z 0 [ERROR] Aborting
[ftops@ft-d-0192168016209 mysql]$ rm -rf data/
[ftops@ft-d-0192168016209 mysql]$

原因

这个是mysql 的一个bug,使用指定路径的my.cnf,而不用默认的/etc/my.cnf文件,需要在启动时,将--default-file=***/my.cnf 参数放在命令后的第一位参数传入,如果是作为命令第二、第三位,就会出现上述错误。

错误的示范:./mysqld --initialize-insecure --defaults-file=/data/infra/mysql/conf/my.cnf

正确的示范:./mysqld --defaults-file=/data/infra/mysql/conf/my.cnf --initialize-insecure

参考:https://www.cnblogs.com/qiumingcheng/p/11191759.html

问题解决

将--defaults-file参数调整到命令第一位,即可解决。

示例:./bin/mysqld --defaults-file=/data/infra/mysql/conf/my.cnf --initialize-insecure --user=ftops --basedir=/data/infra/mysql --datadir=/data/infra/mysql/data --socket=/data/infra/mysql/tmp/mysql.sock

复制代码
[ftops@ft-d-0192168016209 mysql]$ ./bin/mysqld --defaults-file=/data/infra/mysql/conf/my.cnf --initialize-insecure --user=ftops  --basedir=/data/infra/mysql --datadir=/data/infra/mysql/data --socket=/data/infra/mysql/tmp/mysql.sock
2024-03-20T01:56:38.815353Z 0 [Warning] InnoDB: New log files created, LSN=45790
2024-03-20T01:56:38.842167Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2024-03-20T01:56:38.899853Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 171a1d3a-e65d-11ee-be91-faa23b88c700.
2024-03-20T01:56:38.900679Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2024-03-20T01:56:40.116747Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2024-03-20T01:56:40.116759Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2024-03-20T01:56:40.119760Z 0 [Warning] CA certificate ca.pem is self signed.
2024-03-20T01:56:40.300626Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
相关推荐
weixin_4045512423 分钟前
自动化数据库理解:用 AI 与 LLM 自动推断表的用途与关系
数据库·人工智能·自动化
java1234_小锋25 分钟前
【技术专题】Mysql8 数据库 - Mysql8 简介 & 安装以及配置
数据库·mysql
oradh29 分钟前
Oracle固定执行计划的方法----SQL Profie(三)
数据库·sql·oracle
斯内普吖1 小时前
(开源)水果蔬菜商城实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源
测试学习test1 小时前
SPI读取W25Q64硬件驱动(HAL库)
数据库·stm32·嵌入式硬件·算法
做运维的阿瑞1 小时前
mysql数据库分组查询:GROUP BY 与 HAVING 的执行逻辑
数据库·sql·mysql
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2026-10-01
数据库·人工智能·深度学习·神经网络·搜索引擎
阳光九叶草LXGZXJ2 小时前
达梦数据库-学习-67-SSL加密认证
linux·运维·数据库·sql·学习·ssl
ha_lydms2 小时前
MaxCompute中JSON函数
大数据·数据库·阿里云·json·dataworks·maxcompute·odps
沐欣工作室_lvyiyi2 小时前
基于物联网的智能商业零售管理系统设计与实现(论文+源码)
物联网·mysql·mysql数据库·零售