Menambahkan ke apa yang dikatakan oleh @nonsenz, Jika Anda menggunakan skrip penyediaan puphpet.com maka Anda dapat menambahkan file bash ke folder / puphpet / file / startup-selalu dan letakkan semua perintah Anda di sana. Setiap kali gelandangan mulai atau memuat ulang itu akan memanggil skrip:
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
Even Better (untuk mengaktifkan output yang lebih bersih)
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
Ini memungkinkan saya untuk menghubungkan IDE (PhpStorm) saya langsung ke database di mesin tamu saya melalui gelandangan. Tentu saja saya memberi tamu akses pengguna mysql ke '%' dan meneruskan port 3306 pada tamu ke port (3309) pada host. Hibah akses juga bisa dilakukan dalam file ini.
Even Better'er (mysql menjalankan 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
menghasilkan kesalahan "maaf, Anda harus memiliki tty" (diperbaiki dengan hanya menghapus 'sudo' dari pernyataan) dan layanan MySQL saya dimulai kembali menggunakan/etc/init.d/mysqld stop
dan/etc/init.d/mysqld start
. Keduanya mungkin hanya kebiasaan CentOS daripada kesalahan dengan skrip.Sepertinya sed adalah cara termudah dalam konteks ini (setelah instalasi yang bersih):
sumber
Paket Ubuntu disebut 'augeas-tools'
sumber
-s
"simpan pembaruan otomatis".set
adalah tindakan Augeas akan mengambil dengan ini dengan baris ini./files/etc/mysql/my.cnf
bagian / file Augest mana yang akan bekerja (ini memuat semua / etc)./target
adalah (? array?) dari nilai yang di-decode.[ . = "mysqld"]
memilih nomor target mana saja yang memiliki nilai "mysqld".bind-address
adalah bidang bind-address di bagian "mysqld", dan nilai setelah spasi0.0.0.0
adalah nilai yang akan ditetapkan.Kedengarannya seperti Anda sedang mencari Augeas .
The halaman proyek di sini dan beberapa dokumentasi dan contoh di sini. MySQL disertakan pada halaman stok lensa tetapi sayangnya tautan dokumentasi ke halaman 404 sekarang.
Ada juga beberapa contoh menggunakannya dalam Wayang di sini .
sumber