Bri*_*ald 4 mysql linux virtualbox centos vagrant
让Vagrant回应"你好世界"是一件轻而易举的事.哎呀,即使我能解决这个问题!
但是当涉及到用户在配置盒子时实际上想要做的事情,例如安装mysql,创建数据库和创建mysql用户时,那些东西似乎不起作用.ARRG.
我正在使用一个虚拟的CentOS服务器并安装MySQL顺利完成,但这就是我遇到众所周知的砖墙的地方.请记住,我可以通过SSH进入框中轻松完成所有这些事情(但当然这会破坏配置的目的):
echo "hello world"; <-- good
sudo yum install mysql-server -y; <-- good
sudo /sbin/service mysqld start; <-- good
sudo mysql create user 'mycooluser'@'%' identified by 'mypassword'; <-- BAD
Run Code Online (Sandbox Code Playgroud)
我一直在谷歌上搜索,最接近的是这篇文章,但由于它是基于Ubuntu而不是CentOS,我马上就被卡住了,因为显然yum不知道debconf-utils是什么,而apt确实如此.
任何人都可以为我阐明这一点吗?我不认为我的用例是一个令人发指的用例,我想做的就是拥有shell配置器
请不要告诉我"使用厨师或木偶".我已经尝试了,他们有自己的问题,老实说这些简单的要求有点过分.当然这些项目可以通过shell配置程序完成吗?
非常感谢任何见解.你或许可以告诉我,我的智慧结束了.
这是我的Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
$script = <<SCRIPT
set -x
echo I am provisioning...
date > /etc/vagrant_provisioned_at
echo "hello world"
yum install mysql-server -y
/sbin/service mysqld start
mysql -e "create user 'mycooluser'@'%' identified by 'mypassword'"
SCRIPT
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "chef/centos-6.5"
config.vm.provision :shell, :inline => $script
end
Run Code Online (Sandbox Code Playgroud)
vagrant up
应该用mysql和用户'mycooluser'获得centos-6.5操作系统.
核实:
vagrant ssh
完成配置并在centos客户操作系统中执行以下操作后的框.
mysql -uroot
mysql> SELECT User FROM mysql.user;
+------------+
| User |
+------------+
| mycooluser |
| root |
| |
| root |
| |
| root |
+------------+
6 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
注意:您可能希望为"mycooluser"授予权限,以便使用mysql shell等登录.
更多细节可以在这里找到.
归档时间: |
|
查看次数: |
6850 次 |
最近记录: |