Agregando a lo que ha dicho @nonsenz, si usa los scripts de aprovisionamiento de puphpet.com, puede agregar un archivo bash a la carpeta / puphpet / files / startup-always y colocar todos sus comandos allí. Cada vez que vagabundo comienza o se recarga, llamará al script:
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
Aún mejor (para permitir una salida más limpia)
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
Esto me permitió conectar mi IDE (PhpStorm) directamente a la base de datos en mi máquina invitada a través de vagabundo. Por supuesto, le di acceso al usuario mysql invitado a '%' y reenvié el puerto 3306 del invitado a un puerto (3309) del host. La concesión de acceso también podría hacerse en este archivo también.
Aún mejor (mysql execute add 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."
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
dio como resultado un error de "perdón, debe tener un tty" (solucionado simplemente eliminando 'sudo' de las declaraciones) y mi servicio MySQL se reinició usando/etc/init.d/mysqld stop
y/etc/init.d/mysqld start
. Ambos pueden ser solo peculiaridades de CentOS en lugar de errores con el script.