美文网首页
关于mysql安装与[InnoDB] mmap(13742899

关于mysql安装与[InnoDB] mmap(13742899

作者: YukunWen | 来源:发表于2018-11-22 16:28 被阅读55次

    引言

    mysql安装其实网上有很多教程了,该篇文章主要针对是的出现[InnoDB] mmap(137428992 bytes) failed; errno 12时候的一个解决办法。

    正文

    1. 在安装过程中需要注意查看之前是否已经安装过,需要关停以前的服务,并删除相应的包和文件

    //查找之前的安装包命令
    rpm -qa | grep mysql
    //删除命令
    yum -y remove xxx包名

    图1.操作demo图
    1. 正式安装可以参考网上很多文章
      这里博主列举出参考的文章:https://blog.csdn.net/danykk/article/details/80137223

    2. 在安装过程中出现了一个问题:
      当输入 systemctl restart mysqld.service 的时候总会出现如下错误
      Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

    图2.错误示意图

    这个时候无论你按照提示输入 systemctl status mysqld.service 或者 journalctl -xe,其实都是得到比较模糊的答案。最好的办法就是去查看日志!

    4.查看数据库日志文件
    less /var/log/mysqld.log 当然你也可以采用taif等命令,博主习惯了用less。less + G跳转到最后一页。发现有一个启动错误:
    [InnoDB] mmap(137428992 bytes) failed; errno 12

    图3.内存不足错误

    通过 free -m 命令,你会发现swap那一列都是0或者很小。

    1. 解决问题
    • 首先修改 my.cnf文件,命令: vim /etc/my.cnf ,设置 innodb_buffer_pool_size = 512M
    • 依次执行如下命令,如果没有权限,记得sudo

    dd if=/dev/zero of=/swapfile bs=1M count=1024
    mkswap /swapfile
    swapon /swapfile

    如果需要在重启的时候自动分配swap,则在 /etc/fstab 中增加一行 /swapfile swap swap defaults 0 0

    接着继续执行如下语句
    swapon -s
    free -k
    swapoff -a
    swapon -a

    之后便可以正常启动啦

    图4.正常启动示意图

    按照2中给出的参考地址继续进行账号密码等一系列的配置,即可完成安装。

    More

    最后博主给出一些mysql相关的命令
    MySQL 相关:
    systemctl start mysqld #启动mysql
    systemctl stop mysqld #停止mysqld
    systemctl restart mysqld #重启mysqld
    systemctl enable mysqld #设置开机启动
    systemctl status mysqld #查看 MySQL Server 状态
    本地的mysql连接mysql -u root

    防火墙相关:
    systemctl status firewalld #查看防火墙状态
    systemctl start firewalld #打开防火墙
    systemctl stop firewalld #关闭防火墙
    systemctl restart firewalld #重启防火墙

    相关文章

      网友评论

          本文标题:关于mysql安装与[InnoDB] mmap(13742899

          本文链接:https://www.haomeiwen.com/subject/ezilqqtx.html