问题描述
这是本人在centos7上安装mysql遇到的一个坑。我在root用户的家目录下解压mysql,并创建mysql用户和用户组,将mysql文件夹授权给mysql用户和组,执行语句:./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize 报错。(报错内容翻译为mysql用户无权限)。包含的关键错误信息:(OS errno: 13 - Permission denied)
然后我做了一个操作:./mysqld --user= root --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize 。执行成功,且生成了mysql的root用户初始随机密码。
然后在启动mysql服务的时候怎么都报错。报错信息:
The server quit without updating PID file (/root/java_run_i[FAILED]ysql/mysql-8.0.35/data/iZ2vcil66r。
解决方法
原来是因为在root用户的家目录下安装的mysql,所以会出现权限问题,将安装目录换在/usr/local/再来执行初始化:./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize。执行成功!配置完成/etc/my.cnf文件,并将mysql添加到服务后,启动mysql成功。
总结
不要在root用户家目录(/root)下安装软件,不然会有各种奇奇怪怪的问题。