Додавши до сказаного @nonsenz, якщо ви використовуєте сценарії забезпечення пропуску puphpet.com, ви можете додати файл bash до папки / puphpet / files / startup-завжди і помістити туди всі свої команди. У будь-який час запуск або перезавантаження бродяга викликає сценарій:
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
Ще краще (щоб увімкнути більш чистий вихід)
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
Це дозволило мені підключити свій IDE (PhpStorm) безпосередньо до бази даних на моїй гостьовій машині через бродягу. Звичайно, я дав користувачеві mysql користувачеві доступ до '%' та переслав порт 3306 на гостя до порту (3309) на хості. Надання доступу також може бути здійснено і в цьому файлі.
Навіть краще (додати додаток mysql)
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
призвело до помилки "вибачте, ви повинні мати tty" (виправлено просто видаленням "sudo" з висловлювань), і моя служба MySQL була перезапущена за допомогою/etc/init.d/mysqld stop
і/etc/init.d/mysqld start
. І те, і інше, може бути просто дивкою CentOS, а не помилками із сценарієм.