在AWS文件之后,我试图让一个基本的LAMP服务器启动并运行。一切看起来都很好。通过终端登录到MySQL,或者通过phpMyAdmin (GUI)工作。
但是,当我检查MariaDB的状态时,会发现一个错误,并且不确定如何处理它。
[ec2-user@ip-172-31-30-51 ~]$ sudo systemctl status mariadb● mariadb.service -
MariaDB 10.2 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/mariadb.service.d └─override.conf /usr/lib/systemd/system/mariadb.service.d └─tokudb.conf Active: active (running) since Sat 2021-11-13 16:52:39 UTC; 37s ago Process: 3087 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
Process: 2837 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Process: 2801 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
Main PID: 2943 (mysqld)
Status: "Taking your SQL requests now..."
CGroup: /system.slice/mariadb.service
└─2943 /usr/libexec/mysqld --basedir=/usr
Nov 13 16:52:39 ip-172-31-30-51.ec2.internal mysql-check-upgrade[3087]: ERROR: ld.so: object '/usr/lib64/libjemalloc.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Nov 13 16:52:39 ip-172-31-30-51.ec2.internal mysql-check-upgrade[3087]: ERROR: ld.so: object '/usr/lib64/libjemalloc.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Nov 13 16:52:39 ip-172-31-30-51.ec2.internal mysql-check-upgrade[3087]: ERROR: ld.so: object '/usr/lib64/libjemalloc.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Nov 13 16:52:39 ip-172-31-30-51.ec2.internal mysql-check-upgrade[3087]: ERROR: ld.so: object '/usr/lib64/libjemalloc.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Nov 13 16:52:39 ip-172-31-30-51.ec2.internal mysql-check-upgrade[3087]: ERROR: ld.so: object '/usr/lib64/libjemalloc.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Nov 13 16:52:39 ip-172-31-30-51.ec2.internal mysql-check-upgrade[3087]: ERROR: ld.so: object '/usr/lib64/libjemalloc.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Nov 13 16:52:39 ip-172-31-30-51.ec2.internal mysql-check-upgrade[3087]: ERROR: ld.so: object '/usr/lib64/libjemalloc.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Nov 13 16:52:39 ip-172-31-30-51.ec2.internal mysql-check-upgrade[3087]: ERROR: ld.so: object '/usr/lib64/libjemalloc.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Nov 13 16:52:39 ip-172-31-30-51.ec2.internal mysql-check-upgrade[3087]: ERROR: ld.so: object '/usr/lib64/libjemalloc.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Nov 13 16:52:39 ip-172-31-30-51.ec2.internal systemd[1]: Started MariaDB 10.2 database server.
这还不是个问题,但我只是完成了所有的安装工作。所以,我可以想象将来会出现问题吗?
编辑:我正在t2上测试这一点。微型EC2实例有30 of的存储空间。
发布于 2021-11-28 14:20:56
我也处于同样的情况。
为了修复,我安装了jemalloc包:sudo yum install jemalloc
症状:
sudo find / -name "libjemalloc*"
没有返回任何信息,告诉我我的系统上没有jemalloc包(也许是AWS指令中的一个疏忽?),当用systemctl重新启动mariadb时,我发现了相同的日志消息。
我考虑忽略它,但我发现这些笔记使我相信安装jemalloc将使我的系统运行更顺畅(希望阻止困扰我的WordPress站点的mariadb崩溃)。
核实:
sudo find / -name "libjemalloc*"
现在返回/usr/lib64/libjemalloc.so.1
,这与cat /etc/my.cnf.d/tokudb.cnf
在malloc-lib
变量中引用的路径相同。现在,sudo systemctl restart mariadb
不产生上述问题中的错误消息。
发布于 2021-11-13 19:55:15
在某个地方,有一个环境变量设置
LD_PRELOAD=/usr/lib64/libjemalloc.so.1
而libjemalloc.so.1
实际上并不存在。
如果您没有任何特殊的理由将标准的malloc(3)
实现替换为jemalloc
,那么运行grep -r jemalloc /etc
来查找设置LD_PRELOAD的位置,并将其注释掉或删除,因为如果没有实际的库安装,设置将无效,只会在日志中造成噪音。
https://unix.stackexchange.com/questions/677387
复制相似问题