无人值守Percona服务器5.7安装在Debian Jessie上

无人值守Percona服务器5.7安装在Debian Jessie上,debian,installation,percona,Debian,Installation,Percona,我正在尝试从Debian Jessie上的Percona存储库中无人值守地安装Percona Server 5.7。我真的不在乎最终会得到什么根密码(如果有的话)。那是次要的 到目前为止,我一直没有成功,最终出现了三种不同的情况,每种情况都在不同的步骤中失败: 1) DEBIAN_FRONTEND=非交互式apt get-y安装percona-server-server-5.7无限期挂起: 服务器启动了,我甚至可以使用mysql-S/var/run/mysqld/mysqld.sock连接到它,

我正在尝试从Debian Jessie上的Percona存储库中无人值守地安装Percona Server 5.7。我真的不在乎最终会得到什么根密码(如果有的话)。那是次要的

到目前为止,我一直没有成功,最终出现了三种不同的情况,每种情况都在不同的步骤中失败:

1)
DEBIAN_FRONTEND=非交互式apt get-y安装percona-server-server-5.7
无限期挂起:

服务器启动了,我甚至可以使用
mysql-S/var/run/mysqld/mysqld.sock连接到它,这很奇怪,因为上面的粘贴中出现了“无法连接到套接字”警告

挂起时没有
/etc/mysql/my.cnf
文件,但是目录在那里

2) 使用debconf集合选择对debconf数据库进行预种子设定,包括:

percona-server-server-5.7 percona-server-server-5.7/root-pass密码超级机密

percona-server-server-5.7 percona-server-server-5.7/re-root-pass密码超级机密

然后继续执行apt get install percona-server-server-5.7

在此步骤中,apt失败,因为密码显然仍然为空:对于以下日志:

在这种情况下,mysql服务甚至不会启动,因此我无法判断密码是否已设置。但是,在
/var/cache/debconf/passwords.dat检查debconf数据库时,我可以看到密码值字段为空。通过原木回到生产线

4月16日16:14:53 gtest mysql systemd start[2659]:/usr/share/mysql/mysql systemd start:第37行:[:参数太多

通过分析文件,我得到了执行
my_print\u defaults
binary并返回mysqld配置值的位置。相反,它不打印任何内容,导致启动脚本因上述错误而失败。为什么它是空的?不知道。可能是因为/etc/mysql/my.cnf不存在,就像前面的情况一样。Th这里还提到:

4月16日17:01:51 gtest mysql systemd start[12214]:在/etc/mysql/my.cnf中找不到Percona服务器配置。请使用其他更新选项安装一个

但是我希望在安装的时候,这个会被apt填充。看起来像是apt内部的鸡和蛋循环,但超出了我的能力

3) 与第2步相同,只是故意将密码设置为空。结果与第1步相同

我没有主意了,有什么建议吗


thx.< /p> 在查看错误答案后,只花了几个小时。这似乎在Ubuntu上工作。我没有使用<代码>导出DeBiang-FraveSt=非交互式< /代码>,我没有提示输入密码。我有一种感觉,不正确的代码> DEBCONF条目,<代码>非交互式< /代码> OK是空白提示。密码

echo "percona-server-server-5.7 mysql-server/root_password password supersecret" | debconf-set-selections
echo "percona-server-server-5.7 mysql-server/root_password_again password supersecret" | debconf-set-selections
Percona“钩住”MySQL,以便您可以使用

service mysql status
如果你看到像这样的东西,你就会知道它是percona

LSB:启动和停止mysql(Percona服务器)守护进程

然后测试登录

mysql -u user -psupersecret

事实上,我是从你关于检查
/var/cache/debconf/passwords.dat的一次性评论中得到这一点的。所以,谢谢你告诉我这一点,大家好消息!我找到了真正的问题所在

以上所有这些都很可能是由于我反复尝试在一个已经设置好的盒子上成功造成的。这导致了一个典型的拆分包依赖性地狱问题。通过依赖关系树,我发现,其中有一个依赖关系包
mysql common
,它竟然只包含一个文件,
/etc/mysql/my.cnf
加上一些空目录和典型的Debian文档结构


在考虑了这个包之后,无人值守的安装使用这三种方法都能如期工作。现在剩下的唯一一件事是如何自动完成mysql\u secure\u安装。

对于Debian 10,myol描述的答案对于percona-server-server-server-5.7不起作用,但预播种工作仍然有效e、 正如mikky在其初始帖子中所述:

echo "percona-server-server-5.7 percona-server-server-5.7/root-pass password supersecret" | debconf-set-selections
echo "percona-server-server-5.7 percona-server-server-5.7/re-root-pass password supersecret" | debconf-set-selections
要显示预种子数据库中当前的内容,请运行:

debconf-show percona-server-server-5.7
安装并访问数据库:

apt-get install percona-server-server-5.7
mysql -u root -psupersecret
安装后,
/var/cache/debconf/passwords.dat
中预种子数据库中密码的值字段确实是空的,但预种子密码仍然有效。因此,我想这可能是一种新的安全措施,用于清除实际值

要重试进程运行(请小心使用,它将删除数据库!):

dpkg -P percona-server-server-5.7