引言
mysql安装其实网上有很多教程了,该篇文章主要针对是的出现[InnoDB] mmap(137428992 bytes) failed; errno 12时候的一个解决办法。
正文
- 在安装过程中需要注意查看之前是否已经安装过,需要关停以前的服务,并删除相应的包和文件
//查找之前的安装包命令
rpm -qa | grep mysql
//删除命令
yum -y remove xxx包名

-
正式安装可以参考网上很多文章
这里博主列举出参考的文章:https://blog.csdn.net/danykk/article/details/80137223 -
在安装过程中出现了一个问题:
当输入 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.

这个时候无论你按照提示输入 systemctl status mysqld.service 或者 journalctl -xe,其实都是得到比较模糊的答案。最好的办法就是去查看日志!
4.查看数据库日志文件
less /var/log/mysqld.log 当然你也可以采用taif等命令,博主习惯了用less。less + G跳转到最后一页。发现有一个启动错误:
[InnoDB] mmap(137428992 bytes) failed; errno 12

通过 free -m 命令,你会发现swap那一列都是0或者很小。
- 解决问题
- 首先修改 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
之后便可以正常启动啦

按照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 #重启防火墙
网友评论