我使用Vagrant和Conception,但是当我想在本地测试应用程序时,我必须在LAMP(或类似的东西)服务器上进行。如何在Vagrant上使用数据库?
答案 0 :(得分:3)
您只需要设置对来自主机的来宾计算机(流浪者盒)上运行的mysql服务器的访问权限,然后在codeception.yml config中设置相应的数据库DNS。
以下是一些一般性说明:
1)允许你的vagrant的mysql服务器通过在mysql的my.cnf配置中设置'bind-address'选项将所有接口ssh监听到你的盒子并将其值改为0.0.0.0
2)为mysql用户授予适当的权限,用于从主机连接数据库。 您可以使用mysql客户端
执行以下SQL命令USE mysql;
GRANT ALL ON *.* to root@'192.168.0.1' IDENTIFIED BY 'mypass';
FLUSH PRIVILEGES;
其中 root 和 mypass - 您的数据库用户将从代码中使用以连接到数据库及其密码和 192.168.0.1 - 主持人的IP(阅读如何获得主持人的手势here)
3)重启vagrant的mysql服务器
4)从主机运行
测试与vagrant的mysql的连接mysql -h 192.168.33.10 -P 3306 -u root -p
(此处 192.168.33.10 - 我正在运行的流浪者盒子的ip)
5)在codeception.yml文件中设置DNS,例如
modules:
config:
Db:
dsn: 'mysql:host=192.168.33.10;dbname=MyDB'
user: 'root'
password: 'mypass'