问题描述:
mysqld: Can't change dir to '/home/zxa/software/mysql/data/' (Errcode: 13 - Permission denied)
data的路径:/home/zxa/software/mysql/data (mysql是安装包解压后重命名的)
[root@HadoopMaster bin]# mysqld --user=mysql --basedir=/home/zxa/software/mysql --datadir=/home/zxa/software/mysql/data --initialize
mysqld: Can't change dir to '/home/zxa/software/mysql/data/' (Errcode: 13 - Permission denied)
2023-11-22T05:19:05.344435Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-11-22T05:19:05.349936Z 0 [ERROR] failed to set datadir to /home/zxa/software/mysql/data/
2023-11-22T05:19:05.349986Z 0 [ERROR] Aborting[root@HadoopMaster bin]#
问题分析:
家目录下的zxa除所有者外,所属组和其他人均没有任何权限
添加权限:
chmod 755 /home/zxa chmod 755 /var/lib/mysql
可以看到,依然报错,但是现在已经没有mysqld: Can't change dir to '/home/zxa/software/mysql/data/' (Errcode: 13 - Permission denied) 这个问题了
[ERROR] --initialize specified but the data directory has files in it. Aborting.
这里因为我们已经多次初始了,data下面有了数据,先删除data下面的数据再初始化rm -rf /home/zxa/software/mysql/data/* mysqld --user=mysql --basedir=/home/zxa/software/mysql --datadir=/home/zxa/software/mysql/data --initialize
初始化成功!
启动服务器出现新问题:找不到进程id
MySQL server PID file could not be found!
1.执行ps aux | grep mysql命令查看mysql进程号
2.执行kill -9 进程ID命令杀死进程
3.重新执行service mysqld restart命令发现成功解决问题
其它普通用户使用mysql: