การเพิ่มสิ่งที่ถูกกล่าวถึงโดย @nonsenz หากคุณใช้สคริปต์การจัดเตรียมของ puphpet.com คุณสามารถเพิ่มไฟล์ bash ไปยังโฟลเดอร์ / puphpet / files / startup-always และวางคำสั่งทั้งหมดของคุณไว้ที่นั่น เมื่อใดก็ตามที่คนจรจัดเริ่มต้นหรือโหลดซ้ำมันจะเรียกสคริปต์:
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) บนโฮสต์ สิทธิ์การเข้าถึงสามารถทำได้ในไฟล์นี้เช่นกัน
Better'er ที่ดีกว่า (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 ที่ไม่ได้มีข้อผิดพลาดกับสคริปต์