Linux-mysql-error:(离线)mysql初始化失败

离线解压)安装了mysql后使用:mysqld --initialize-insecure  # mysql --初始化-无密

想将mysql初始化,但是出现:

2024-01-25T07:25:45.621142Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2024-01-25T07:25:45.622537Z 0 [Note] mysqld (mysqld 5.7.28) starting as process 30600 ...
2024-01-25T07:25:45.624263Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

2024-01-25T07:25:45.624282Z 0 [ERROR] Aborting

2024-01-25T07:25:45.624331Z 0 [Note] Binlog end
2024-01-25T07:25:45.624378Z 0 [Note] mysqld: Shutdown complete

也并未进行其他操作;

更简单的解决方法:mysqld --initialize-insecure --user=mysql

我所知道解决当前的问题的关键是:mysql的目录文件 所属 用户和组 权限

因为:mysql(数据库)需要使用mysql用户(安装后自带有)来运行,如果当前用户不是mysql用户的话,创建mysql的目录文件权限就不属于mysql的,也就是mysql的目录文件mysql无法打开(可能)

所以:找到mysql目录(一般在/var/lib/下有“mysql”目录),

使用 chown -R mysql:mysql mysql的目录 改变mysql目录和其下所有文件的所属用户和组(改为mysql)-R 是其下所有文件目录

使用 chmod -R 700 mysql的目录 改变mysql目录和其下所有文件的权限

(还有就是:mysql的日志文件(/var/log/mysql.log)也要改用户、组和权限)

随后,再次使用初始化命令:mysqld --initialize-insecure

ps:mysqld (msyql+d)这部分命令是使用mysql用户来执行命令,例如:mysqld --initialize-insecure

ps:mysql初始化成功后什么提示也没有

 

83d0a1e698eb44c3a3e0b01497ae18ca.png

这里未发现mysql目录下的文件用户和组未改,依旧可以初始化(?),但是无法启动(理解:mysql无法调用,其他用户的文件,所以无法启动)

改:

1f9370d1355348c6ae17f55c6a709fa2.png3da63e2a3aa5416d8efa552096328d10.png得:16e9d4fa5a8c4154820b6980260272c6.png

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值