我正在尝试在我从源码安装的Maraiadb上的vps上安装phpmyadmin。 Mariadb 10.1.12运行正常。 当我尝试安装phpmyadmin
时apt-get install phpmyadmin
然后显示
The following extra packages will be installed:
libdbd-mysql-perl libmysqlclient18 mysql-client mysql-client-5.5 mysql-common php5-mysql
Suggested packages:
mysql-server maridadb-server virtual-mysql-server www-browser
The following NEW packages will be installed:
libdbd-mysql-perl libmysqlclient18 mysql-client mysql-client-5.5 mysql-common php5-mysql phpmyadmin
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
如果我按y键去,那么之后我的Mariadb不能正常工作就会出现套接字问题,
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")
也许是因为mysql-client安装了phpmyadmin,然后修复它我清除mysql包,
sudo apt-get --purge remove "mysql*"
然后mariadb再次开始正常工作。
所以我想知道无论如何我可以安装没有这些依赖的phpmyadmin,我试图找到phpmyadmin
/var/lib/dpkg/status
所以我可以删除它的依赖项,但phpmyadmin不在列表中:(
我正在使用debian 8 jessie
答案 0 :(得分:1)
phpmyadmin
似乎有一个sql server作为依赖项,因此它默认安装mysql。由于您已经安装了Mariadb的自编译版本,因此会导致问题。在你的情况下,mysql似乎使用你真正想要用于Mariadb的套接字。
您当然可以更改这两个sql服务器的端口/套接字,以便它们可以同时运行,但在同一台服务器上同时运行两个sql服务器没有多大意义。
所以更好的方法是创建一个已安装的mysql服务器的假包。您可以使用equivs
执行此操作。更多信息:How to tell apt that dependencies are resolved manually?。
因此,在您的情况下,您应该了解Debian安装了哪些maraiadb
软件包,并伪造您知道已在服务器上安装了内容的每个软件包。
以下是
的一般指南我建议你在使用假包时使用新文件夹。 (mkdir ~/fakepackages && cd ~/fakepackages
)
apt-get download mypackage
获取.deb
文件的控制文件。
您可以通过解压缩.deb文件并找到控制文件来完成此操作。
我建议采取以下步骤:
mkdir package&&cd package
(您可以在下载.deb文件之前执行此操作)ar xv package.deb
tar xzf control.tar.gz
cp control ../mypackage.ctl.orig
cd ..
和rm -rf package
equivs-control mypackage.ctl
它会为您提供一个模板。现在结合您所知道的有关已安装和想要伪造的(自编译)程序的信息以及原始控制文件的信息来创建伪控制文件。您应该尝试添加尽可能多的真值。至少提供这些值非常重要:
在说明中你应该明确说明包装是假的。
equivs-build mypackage.ctl
sudo dpkg -i mypackage_1.0.deb