preconfigure an empty password for mysql via debconf-set-selections(通过 debconf-set-selections 为 mysql 预配置一个空密码)
问题描述
I am setting up a bash script to automate the building of a LAMP environment.
I am using debconf-set-selections to set options before installing mysql, phpmyadmin, etc ...
It works mainly great. But the problem is that I have to set an empty password for mysql and it still asks for the password during installation even with the lines typed before :
echo "mysql-server-5.5 mysql-server/root_password password" | debconf-set-selections
echo "mysql-server-5.5 mysql-server/root_password_again password" | debconf-set-selections
The recommended approach for setting an empty password during mysql-server's package installation process using debconf-set-selections depends on the package version in hand.
MySQL 5.7
Although it's possible to configure the password to be empty, the installation process will automatically enable the authentication plugin
auth_socketin such a case. Hence, the password-less login shall be conditioned on usingUNIXsocket based authentication (e.g. requiring the login to be made from the user accountrooton the local machine).For the package provided by the MySQL APT repository:
sudo debconf-set-selections <<< "mysql-community-server mysql-community-server/root-pass password " sudo debconf-set-selections <<< "mysql-community-server mysql-community-server/re-root-pass password "For the package provided by the Ubuntu package repositories:
sudo debconf-set-selections <<< "mysql-server mysql-server/root-password password " sudo debconf-set-selections <<< "mysql-server mysql-server/root-password_again password "
MySQL 5.5 and MySQL 5.6
The solution suggested by this answer should work, with a minor addition that confirms the empty password:
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password "''"" sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password "''""
A fallback solution
If all approaches fail, it's possible to circumvent the issue and implicitly leave the password blank by preventing debconf from asking the user for a password altogether. Unfortunately, this applies to all questions, rather than just the password-related ones.
Here are two methods that achieve the desired result:
Set
debconf's frontend tononinteractive:DEBIAN_FRONTEND=noninteractive apt-get install [-y] [-q] mysql-serverSet
debconf's priority level tocritical:DEBIAN_PRIORITY=critical apt-get install [-y] [-q] mysql-serverThis method is probably preferable as it permits the display of critical messages.
这篇关于通过 debconf-set-selections 为 mysql 预配置一个空密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:通过 debconf-set-selections 为 mysql 预配置一个空密码
基础教程推荐
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- 无法解决整理冲突 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 是否可以执行按位分组功能? 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
