Skip to content

Instantly share code, notes, and snippets.

@Wintus
Last active July 11, 2024 15:03
Show Gist options
  • Save Wintus/ce7326a98591ede6bb6d37654c506711 to your computer and use it in GitHub Desktop.
Save Wintus/ce7326a98591ede6bb6d37654c506711 to your computer and use it in GitHub Desktop.
Google Cloud Skills Boost

GSP306

https://www.cloudskillsboost.google/focuses/1740?locale=ja&parent=catalog

cite. https://github.com/CloudHustlers/Level-1-BigQuery-ML-Cloud-Architecture-and-Devops-Skills/blob/282abcf7be9c536676c114b44be4c0e85a061923/Migrate%20a%20MySQL%20Database%20to%20Google%20Cloud%20SQL%20%23GSP306%20.md

Run in Cloud Shell

export PW="Password1*"
export ZONE=$(gcloud compute instances list --filter="name=blog" --format="value(zone)")
gcloud sql instances create wordpress --tier=db-n1-standard-1 --activation-policy=ALWAYS --zone=$ZONE
gcloud sql users set-password --host % root --instance wordpress --password=$PW
CLOUDHUSTLER=$(gcloud compute instances describe blog --zone=$ZONE --format="get(networkInterfaces[0].accessConfigs[0].natIP)")/32
gcloud sql instances patch wordpress --authorized-networks $CLOUDHUSTLER --quiet
gcloud compute ssh "blog" --zone=$ZONE --project=$DEVSHELL_PROJECT_ID --quiet

via SSH

sudo apt-get -qq update
sudo apt-get -qq install mysql-client
gcloud auth login

export PW="Password1*"
MYSQLIP=$(gcloud sql instances describe wordpress --format="get(ipAddresses[0].ipAddress)")
echo $PW | mysql_config_editor set --login-path=local --host=$MYSQLIP --user=root --password
export MYSQL_PWD="Password1*"
mysql --host=$MYSQLIP --user=root << EOF
CREATE DATABASE wordpress;
CREATE USER 'blogadmin'@'%' IDENTIFIED BY '$MYSQL_PWD';
GRANT ALL PRIVILEGES ON wordpress.* TO 'blogadmin'@'%';
-- FLUSH PRIVILEGES;
EOF

sudo mysqldump -u root -p$MYSQL_PWD wordpress > wordpress_backup.sql
mysql --host=$MYSQLIP --user=root -p$MYSQL_PWD --verbose wordpress < wordpress_backup.sql
sudo service apache2 restart

cd /var/www/html/wordpress
EXTERNAL_IP=$(gcloud sql instances describe wordpress --format="get(ipAddresses[0].ipAddress)")
CONFIG_FILE="wp-config.php"
sudo sed -i "s/define('DB_HOST', 'localhost')/define('DB_HOST', '$EXTERNAL_IP')/" $CONFIG_FILE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment