@Nonsenz tarafından söylenenlere ekleme, puphpet.com'un sağlama komut dosyalarını kullanıyorsanız, / puphpet / files / startup-always klasörüne bir bash dosyası ekleyebilir ve tüm komutlarınızı buraya yerleştirebilirsiniz. Vagrant her başlatıldığında veya yeniden yüklediğinde komut dosyasını çağırır:
mysql.sh
#!/bin/bash
echo "Updating mysql configs in /etc/mysql/my.cnf."
if [ 'sudo sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/my.cnf' ]; then
echo "Updated mysql bind address in /etc/mysql/my.cnf to 0.0.0.0 to allow external connections."
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
fi
Daha İyi (daha temiz çıktı sağlamak için)
mysql.sh
#!/bin/bash
echo "Updating mysql configs in /etc/mysql/my.cnf."
sudo sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
echo "Updated mysql bind address in /etc/mysql/my.cnf to 0.0.0.0 to allow external connections."
sudo service mysql stop
sudo service mysql start
Bu, IDE'mi (PhpStorm) doğrudan konuk makinemdeki veritabanına vagrant aracılığıyla bağlamamı sağladı. Tabii ki konuk mysql kullanıcı erişim '%' verdi ve konuk üzerinde 3306 bağlantı noktasını ana bilgisayardaki bir bağlantı noktasına (3309) iletti. Erişim izni de bu dosyada yapılabilir.
Even Better'er (mysql yürütme eklentisi)
mysql.sh
#!/bin/bash
echo "Updating mysql configs in /etc/mysql/my.cnf."
sudo sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
echo "Updated mysql bind address in /etc/mysql/my.cnf to 0.0.0.0 to allow external connections."
echo "Assigning mysql user user1 access on %."
sudo mysql -u user1 -pyourpassword --execute "GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' IDENTIFIED BY 'yourpassword' with GRANT OPTION; FLUSH PRIVILEGES;" yourdatabase
echo "Assigned mysql user user1 access on all hosts."
sudo service mysql stop
sudo service mysql start
sudo
"üzgünüm, bir tty" hatasıyla sonuçlandı (sadece ifadelerden 'sudo' kaldırılarak düzeltildi) ve MySQL hizmetim kullanılarak yeniden başlatıldı/etc/init.d/mysqld stop
ve/etc/init.d/mysqld start
. Bunların her ikisi de komut dosyasında hatalar yerine sadece CentOS tuhaflıkları olabilir.