gpt4 book ai didi

mysql - Vagrant 供应

转载 作者:行者123 更新时间:2023-11-29 10:23:53 26 4
gpt4 key购买 nike

菜鸟问题。我正在尝试为我的 Vagrantfile 编写一个 shell 脚本,在服务器环境构建后加载数据库导出的自包含文件。目标是构建服务器,安装 mariadb,然后加载一个自包含的 sql 文件以用数据填充数据库。

我使用 Vargantfile 将 bootstrap.sh 文件添加到目录中,并在其中添加了访问 mysql cli 的序列。我的问题是,我知道当我输入 mysql -u 用户名 -p 时,它会提示我下一步操作作为密码。我可以将其放在第二行以便接下来运行吗?或者由于它是密码提示,所以我需要添加一些内容。

类似(bootstrap.sh)的东西:

#!/usr/bin/env bash

mysql -u username -p
secret-password

非常感谢任何建议或更好信息的链接。

最佳答案

您可以将密码放在同一命令行上:

mysql --user='username' --password='password' ...

但我不喜欢在命令行上输入密码。相反,我创建一个包含凭据的默认文件。以下是此类文件的格式:

[client]
user = <username>
password = <password>

mysql 客户端将自动从全局 /etc/my.cnf 文件或当前用户的 $HOME/.my.cnf 中读取选项。您还可以使用标志来给出特定的替代选项文件。例如:

mysql --defaults-file=/vagrant/my.cnf ...

参见https://dev.mysql.com/doc/refman/5.7/en/option-files.html

如果您想要更加安全,并且您使用的是 MySQL 5.6 或更高版本,则可以创建包含凭据的加密文件。然后使用另一个选项来读取它:

mysql --login-path=/vagrant/mylogin.cnf ...

参见https://dev.mysql.com/doc/refman/5.7/en/mysql-config-editor.html有关如何创建 mylogin.cnf 文件的详细信息。

关于mysql - Vagrant 供应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48694421/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com