(离线解压)安装了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初始化成功后什么提示也没有
这里未发现mysql目录下的文件用户和组未改,依旧可以初始化(?),但是无法启动(理解:mysql无法调用,其他用户的文件,所以无法启动)
改:
得: