【总结】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.
相关推荐
不光头强3 小时前
Spring框架的事务管理
数据库·spring·oracle
百***92025 小时前
【MySQL】MySQL库的操作
android·数据库·mysql
q***76665 小时前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
信仰_2739932436 小时前
Redis红锁
数据库·redis·缓存
人间打气筒(Ada)6 小时前
Centos7 搭建hadoop2.7.2、hbase伪分布式集群
数据库·分布式·hbase
心灵宝贝6 小时前
如何在 Mac 上安装 MySQL 8.0.20.dmg(从下载到使用全流程)
数据库·mysql·macos
想睡hhh6 小时前
mysql索引——理解索引机制及操作
mysql
剑动山河6 小时前
ubuntu 升级mysql由mysql5.7.42 升级到8.4.0
mysql·ubuntu·adb
奋斗的牛马7 小时前
OFDM理解
网络·数据库·单片机·嵌入式硬件·fpga开发·信息与通信
忧郁的橙子.8 小时前
一、Rabbit MQ 初级
服务器·网络·数据库