percona和mysql闪退、无法启动问题

1、安装percona或者mysql镜像

docker pull mysql / docker pull percona

2、创建mysql或者percona镜像

percona

docker create --name percona -v /data/mysql-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23

myslq

docker run -di --name=mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=root mysql

3、启动percona或者mysql

percona

ducker start percona 

mysql

ducker start mysql

如果mysql或者percona闪退(内存不足的情况)

docker logs mysql查看mysql日志
在这里插入图片描述
free(free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。)
发现swap 虚拟内存都是0
应该是swap 未启用
启用swap:

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

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2
if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
bs=1M 指块大小为1048576Byte个字节
count=1 指仅拷贝1048576个块;

mkswap /swapfile

使用mkswap命令来设置交换文件: mkswap /swapfile

swapon /swapfile

启用交换分区: swapon /swapfile。
再次 free
发现swap 已经有数值 已启用

在 Linux 系统中,可以通过查看 /proc/sys/vm/swappiness 内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。
查看修改前为 0,需要在物理内存使用完毕后才会使用 SWAP 分区。
可以使用下述方法临时修改此参数,假设我们配置为空闲内存少于 10% 时才使用 SWAP 分区:

本人使用的100
echo 10 >/proc/sys/vm/swappiness

若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:
vm.swappiness=10

再次 docker start mysql或者docker start percona
启动成功

free参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值