CentOs7安装mysql遇到的坑及解决方案(rpm格式)

    xiaoxiao2023-11-22  164

    说明

        在虚拟机最小模式安装完linux系统后,准备安装mysql,但是总是安装不上,遇坑无数,查阅超多资料后,总结出了一套靠谱的解决方案,猜测这个问题主要可能在centOs7出现。具体安装步骤如下

    卸载MariaDB

    CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包。因为MariaDB和MySQL可能会冲突,故先卸载MariaDB。

              rpm -qa | grep mariadb

               yum list mariadb-libs 

    查看已安装的MariaDB相关rpm包。查看已安装的MariaDB相关yum包,包名需根据rpm命令的结果判断。移除已安装的MariaDB相关yum包,包名需根据yum list命令的结果判断。此步骤需要root权限 

            yum remove mariadb-libs

    下载MySQL rpm包 

    自行到官网下载相应版本的mysql包

    本文使用MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm和MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm版本

    使用rpm包安装MySQL

    rpm -ivh MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm

    rpm -ivh MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm

    此时可能报错

    依赖检测失败:     /usr/bin/perl 被 MySQL-server-5.6.29-1.linux_glibc2.5.x86_64 需要     libaio.so.1()(64bit) 被 MySQL-server-5.6.29-1.linux_glibc2.5.x86_64 需要     libaio.so.1(LIBAIO_0.1)(64bit) 被 MySQL-server-5.6.29-1.linux_glibc2.5.x86_64 需要     libaio.so.1(LIBAIO_0.4)(64bit) 被 MySQL-server-5.6.29-1.linux_glibc2.5.x86_64 需要

    FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db

    解决方法:yum install libaio

                      yum install perl

                      yum -y install autoconf

    启动mysql

    # service mysqld start

    Starting MySQL.... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)

    这个错网上的解决方案有:

    1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限 解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!

    2.可能进程里已经存在mysql进程 解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

    3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。 解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !http://blog.rekfan.com/?p=186

    4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。 解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

    5.skip-federated字段问题 解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

    6.错误日志目录不存在 解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

    7.selinux惹的祸,如果是centos系统,默认会开启selinux 解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。  

    但是但是但是,一个都没有解决我的问题

    大家先去看mysql的日志信息(/var/lib/mysql/xxx.err),然后根据这篇文章

    http://www.360doc.com/content/15/0201/13/3200886_445438524.shtml

    检查自己是什么错误

    重点是要配置/etc/my.cnf文件哦

     

     

     

    最新回复(0)