libz mysql_Docker和Mysql:libz.so.1:无法打开共享对象文件:权限被拒绝

在这个Dockerfile中运行mysqld时(在我的Linux机器上,Linux 12.04)

Dockerfile:

FROM ubuntu:precise

RUN apt-get update

RUN apt-get install -y mysql-server

CMD ["/usr/sbin/mysqld"]

我在加载共享库时遇到mysqld:error:libz.so.1:无法打开共享对象文件:权限被拒绝

而通过boot2docker在我的Mac上运行mysqld启动就好了.

我尝试了不同的基础docker图像:

> phusion / baseimage:0.9.8

> phusion / baseimage:0.9.1

> ubuntu:最新

我在主机系统上运行了apt-get update和apt-get upgrade(包括更新Mysql),我已经重新启动了主机系统.

关于如何进行的任何想法?

关于我的系统的信息:

$docker version

Client version: 0.9.0

Go version (client): go1.2.1

Git commit (client): 2b3fdf2

Server version: 0.9.0

Git commit (server): 2b3fdf2

Go version (server): go1.2.1

Last stable version: 0.9.0

$docker info

Containers: 37

Images: 340

Driver: aufs

Root Dir: /var/lib/docker/aufs

Dirs: 414

WARNING: No swap limit support

$uname -a

Linux Ubuntu-1204-precise-64-minimal 3.8.0-37-generic #53~precise1-Ubuntu SMP Wed Feb 19 21:37:54 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

回答leeduhem关于libz.so.1权限的评论:

$ls -l /lib/x86_64-linux-gnu/libz.so.1

lrwxrwxrwx 1 root root 15 Nov 10 2011 /lib/x86_64-linux-gnu/libz.so.1 -> libz.so.1.2.3.4

$ls -l /lib/x86_64-linux-gnu/libz.so.1.2.3.4

-rw-r--r-- 1 root root 92720 Nov 10 2011 /lib/x86_64-linux-gnu/libz.so.1.2.3.4

使用更改权限

$chmod +x /lib/x86_64-linux-gnu/libz.so.1.2.3.4

我仍然得到错误.

运行strace -o /tmp/mysql.strace mysqld和cat /tmp/mysql.strace给出

execve("/usr/sbin/mysqld",["mysqld"],[/* 7 vars */]) = 0

brk(0) = 0x7f4d41f7c000

access("/etc/ld.so.nohwcap",F_OK) = -1 ENOENT (No such file or directory)

mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x7f4d403c5000

access("/etc/ld.so.preload",R_OK) = -1 ENOENT (No such file or directory)

open("/etc/ld.so.cache",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)

open("/lib/x86_64-linux-gnu/tls/x86_64/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/lib/x86_64-linux-gnu/tls/x86_64",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/lib/x86_64-linux-gnu/tls/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/lib/x86_64-linux-gnu/tls",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/lib/x86_64-linux-gnu/x86_64/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/lib/x86_64-linux-gnu/x86_64",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/lib/x86_64-linux-gnu/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)

stat("/lib/x86_64-linux-gnu",0x7fff713907f0) = -1 EACCES (Permission denied)

open("/usr/lib/x86_64-linux-gnu/tls/x86_64/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/usr/lib/x86_64-linux-gnu/tls/x86_64",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/usr/lib/x86_64-linux-gnu/tls/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/usr/lib/x86_64-linux-gnu/tls",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/usr/lib/x86_64-linux-gnu/x86_64/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/usr/lib/x86_64-linux-gnu/x86_64",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/usr/lib/x86_64-linux-gnu/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/usr/lib/x86_64-linux-gnu",0x7fff713907f0) = -1 EACCES (Permission denied)

open("/lib/tls/x86_64/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/lib/tls/x86_64",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/lib/tls/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/lib/tls",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/lib/x86_64/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/lib/x86_64",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/lib/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/lib",0x7fff713907f0) = -1 EACCES (Permission denied)

open("/usr/lib/tls/x86_64/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/usr/lib/tls/x86_64",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/usr/lib/tls/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/usr/lib/tls",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/usr/lib/x86_64/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/usr/lib/x86_64",0x7fff713907f0) = -1 ENOENT (No such file or directory)

open("/usr/lib/libz.so.1",O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

stat("/usr/lib",0x7fff713907f0) = -1 EACCES (Permission denied)

writev(2,[{"mysqld",6},{": ",2},{"error while loading shared libra"...,36},{"libz.so.1",9},{"cannot open shared object file",30},{"Permission denied",17},{"\n",1}],10) = 107

查看跟踪似乎指示的目录/ lib和/ lib / x86_64-linux-gnu是不允许的:

$ls -ld /lib

drwxr-xr-x 12 root root 4096 Dec 16 13:42 /lib

$ls -ld /lib/x86_64-linux-gnu

drwxr-xr-x 3 root root 4096 Mar 17 13:39 /lib/x86_64-linux-gnu

error while loading shared libraries: libz.so.1是一个库文件加载错误的问题。这个错误通常会出现在安装或运行软件时,因为缺少libz.so.1库文件。为了解决这个问题,可以尝试以下几种方法: 1. 安装缺少的库文件:首先,确认系统中是否缺少libz.so.1库文件。可以使用命令`ldconfig -p | grep libz.so.1`来检查。如果没有结果,则需要安装该库文件。可以尝试使用管理器(如yum、apt-get)来安装zlib库,例如`sudo apt-get install zlib1g`或`sudo yum install zlib`。 2. 检查库文件路径:有时,库文件路径未正确设置导致加载错误。可以使用命令`ldd <your_executable>`来查看执行文件所依赖的库文件路径是否正确。如果路径不正确,可以考虑通过设置LD_LIBRARY_PATH环境变量来指定正确的库文件路径,例如`export LD_LIBRARY_PATH=/path/to/your/library:$LD_LIBRARY_PATH`。 3. 检查软件安装:如果问题发生在特定软件的安装过程中,那么可能是由于软件版本冲突导致的。可以尝试卸载并重新安装该软件,或者查找适用于当前系统配置的软件版本。 总之,通过安装缺少的库文件、检查库文件路径以及确保软件安装过程正确,应该能够解决error while loading shared libraries: libz.so.1的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [解决pyinstaller打的程序无法执行,提示Operation not permitted](https://blog.csdn.net/u010793917/article/details/104632159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [rpm:error while loading shared libraries: libz.so.1: cannot open shared object file:(问题解决)](https://blog.csdn.net/weixin_46941625/article/details/109404274)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值