问题描述
在Linux安装mysql数据库的时候
当准备初始化数据库的时候 执行如下指令 发现报错
sudo mysqld --initialize --user=mysql
2024-03-19T08:28:38.613409Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2024-03-19T08:28:38.617580Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2024-03-19T08:28:38.617648Z 0 [ERROR] Aborting
解决方案
上面似乎报了两个错
一个是
TIMESTAMP with implicit DEFAULT value is deprecated
另一个是
--initialize specified but the data directory has files in it. Aborting.
搜第一个 并没有发现合适的解决方法
在搜第二个报错信息的时候 成功解决了
步骤如下:
查看一下/etc/my.cnf文件中datadir所指向的目录
cat /etc/my.cnf
把datadir指向的目录下的东西全都删掉
然后重新初始化 成功
再启动mysql服务 也成功
注意:删mysql/不要这样删
一开始 我删除 /var/lib/mysql下所有文件的时候
并没有切换到root用户下
而是临时sudo给zcy用户root权限
最后发现还是不行
所以还是切换到root用户来删除比较稳妥