Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ubuntu上无人值守安装Percona/MySQL_Mysql_Linux_Ubuntu_Ubuntu 11.04_Percona - Fatal编程技术网

在Ubuntu上无人值守安装Percona/MySQL

在Ubuntu上无人值守安装Percona/MySQL,mysql,linux,ubuntu,ubuntu-11.04,percona,Mysql,Linux,Ubuntu,Ubuntu 11.04,Percona,我可以在Ubuntu上安装MYSQL,无需提示,代码如下: dbpass="mydbpassword" export DEBIAN_FRONTEND=noninteractive echo mysql-server-5.1 mysql-server/root_password password $dbpass | debconf-set-selections echo mysql-server-5.1 mysql-server/root_password_again password $dbpa

我可以在Ubuntu上安装MYSQL,无需提示,代码如下:

dbpass="mydbpassword"
export DEBIAN_FRONTEND=noninteractive
echo mysql-server-5.1 mysql-server/root_password password $dbpass | debconf-set-selections
echo mysql-server-5.1 mysql-server/root_password_again password $dbpass | debconf-set-selections
apt-get -y install mysql-server
我在网上找到的关于debconf集合选择的部分(可能在这里,我记不起来了),到目前为止,它对我来说还不错。我不是一个了解它是如何工作的专家,但它确实如此

然而,我想为Percona做同样的事情。我已经设置了apt包管理器来处理使用apt get for percona的问题。现在我的代码如下:

dbpass="dbpass" && export dbpass
export DEBIAN_FRONTEND=noninteractive
echo percona-server-server-5.5 percona-server-server-5.5/root_password password $dbpass | debconf-set-selections
echo percona-server-server-5.5 percona-server-server-5.5/root_password_again password $dbpass | debconf-set-selections
apt-get -y install percona-server-server-5.5
但是,Percona安装时没有定义的密码。我知道我错过了一些东西

我希望能在这里得到一些指导


提前感谢。

您可以随时进行正常安装,然后编写脚本:

  • 杀死mysql服务器
  • 调整密码
  • 在没有身份验证的情况下杀死临时启动的mysql
  • 启动常规mysql

我发现这里的答案表明

导出DEBIAN\u前端=非交互式
apt get-q-y安装mysql服务器


工作并留下一个没有密码的root用户,这正是我想要的。

debconf前缀的第二部分不应包含版本号:

echo percona-server-server-5.5 percona-server-server/root_password password $dbpass | sudo debconf-set-selections
echo percona-server-server-5.5 percona-server-server/root_password_again password $dbpass | sudo debconf-set-selections
对于5.6:

echo percona-server-server-5.6 percona-server-server/root_password password $dbpass | sudo debconf-set-selections
echo percona-server-server-5.6 percona-server-server/root_password_again password $dbpass | sudo debconf-set-selections

我想我明白了

echo "percona-server-server-5.5 mysql-server/root_password password mypassword" | debconf-set-selections
echo "percona-server-server-5.5 mysql-server/root_password_again password mypassword" | debconf-set-selections
不要使用
导出DEBIAN\u FRONTEND=noninteractive
。如果debconf条目正确,则不会提示您。如果它们不正确,并且您使用了
非交互式
,则提示将以空白密码继续

由于Percona“钩住”MySQL,请使用

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

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

最后检查密码设置是否正确

mysql -u user -pmypassword

编辑:也就是说,对于新版本的percona来说,他的答案对我来说很有用。您可以检查
/var/cache/debconf/passwords.dat

中的条目,如果您了解引擎盖下面发生的事情,则可以更轻松地进行调试并找出其不起作用的原因

当您安装debian软件包时,经常会遇到有关许可证、密码、位置等的问题。所有这些值都存储在debconf中。如果您想进行无人参与的安装,可以将这些答案预加载到debconf中,这样就不会提示您提出这些问题,因为这些问题已经得到了回答

当理解如何正确回答这些问题时,挑战就来了。为此,首先需要安装debconf utils

apt安装debconf-utils

接下来,您需要手动安装软件包

就我而言,我正在安装percona-xtradb-cluster-57包

wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb
sudo dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
sudo apt-get update -y
sudo apt-get install -y percona-xtradb-cluster-57
安装后,您可以使用
deb get selections
工具获取已设置的选项

debconf-get-selections | grep percona
在响应中,您将看到已设置的选择。在这种情况下

percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/root-pass password
percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/re-root-pass  password
percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/remove-data-dir   boolean false
percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/root-pass-mismatch    error
percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/data-dir  note
现在可以复制要设置的值。在我的情况下,我想自动设置根密码

在自动安装脚本中,您现在可以使用
debconf set selections
工具自动设置根密码问题和确认根密码问题的值

echo "percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/root-pass password my_temp_password" | debconf-set-selections
echo "percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/re-root-pass  password my_temp_password" | debconf-set-selections

自动化快乐

我需要100%无人值守的安装。你的方法合适吗?你有代码样本吗?谢谢。我需要这个已经有一段时间了,但我会试试看。相关:。