很多小伙伴在使用Linux的时候,发现MySQL无法正常启动,这是怎么一回事?那么小编就通过这篇文章来告诉大家MySQL为什么不能正常启动和如何解决这个问题 。
文章插图
如果MySQL出现无法启动错误时,我们就需要检查以下内容:
①selinux是否已经正常关闭 。
②如果使用默认的方式安装,查看用户"mysql"是否已创建 。
③mysql配置信息中的datadir目录是否已经创建(使用此命令查看已配置的datadir:mysqld --verbose --help | grep datadir) 。
④datadir目录的所有者,是否和mysqld_safe命令行选项中的相同(默认为"mysql"用户) 。
错误原因分析:
①在使用RPM包安装完MySQL-server-xxxx.rpm之后,会看到终端中显示了上面提到的错误,MySQL开启失败 。此时造成开启失败的原因,很有可能是开启了selinux,关闭selinux(具体方法请google一下),重启系统,一般情况下,问题可以解决 。
②使用rpm包进行安装时,会自动创建"mysql"用户,但是在某些“可信的操作系统”中,root用户无权添加新用户,会导致错误 。此时你可以使用具有添加新用户权限的用户,手动添加"mysql"帐户,密码随意设置 。当你只能使用root用户时,可以在my.cnf(下面会介绍此文件)中做如下修改:
[mysqld]user = root #或者是其他可使用的用户名称此处的"root"即为脚本中调用mysqld_safe程序时,命令行中指定的系统用户 。
③安装MySQL-server-xxxx.rpm之后,显示正常开启,但是修改了my.cnf(原文件为/usr/share/mysql/中的my-xxxx.cnf文件,需要选择合适的文件复制到/etc/目录中,并且改名为my.cnf)文件之后,出现错误 。
此时错误的原因,很有可能是因为你没有调用mysql_install_db函数,此函数负责创建mysql的基本数据库,如登录用户的信息等,以及使用my.cnf对mysql进行配置,如数据库目录(datadir),根目录(basedir)等 。在当前系统中,默认datadir为/var/lib/mysql/ 。
④使用rpm包安装时,mysql_install_db函数被默认的调用,但是配置信息也是默认的 。当你改写了my.cnf文件之后,需要重新调用"mysql_install_db --user=mysql"命令,以按照新的配置文件对数据库进行配置 。
【linux中mysql无法启动怎么解决?详细的解决方法来了】其中的"--user=mysql"选项,使创建的datadir的创建者和所有者为mysql用户(使用rpm包安装时,自动创建此用户) 。如果没有为mysqld_safe指定其他用户,必须添加此选项 。
推荐阅读
- mysql出现系统错误5怎么解决?完美解决方法来了
- MySQL中自增主键不连续怎么办?解决方法来了
- 致死中量
- UI设计中导航放在哪个位置合适?分别有什么好处?
- UI设计中什么是表单设计?包含哪些内容?
- UI设计如何设计标签?有哪些设计方法?
- DW如何创建web表单?操作方法是什么?
- 关于世界五大金融中心,什么是国际金融中心?
- 如何在pr中创建帧定格?创建帧定格教程
- 如何在Adobe Premiere Pro中创建滚动字幕?其实不难