Cara Menulis Skrip Sederhana Untuk Pencadangan Database MySQL
Friday, February 10, 2023
Di sini kita akan melihat langkah-langkah menulis skrip untuk backup database MySQL.
- kita akan menginstal MySQL pada mesin uji kita
- Jadi, inilah perintah untuk memperbarui repo yang ada dan menginstal MySQL di Ubuntu:
- Di blog ini kita akan melihat cara mengkonfigurasi atau menulis skrip shell untuk mengambil cadangan database MySQL dan disalin ke S3.
sudo apt update && sudo apt install mysql-server
sudo apt install mysql-client
ubuntu $ which $SHELL
/bin/bash
mysql -u root
mysql> create database test;
Query OK, 1 row affected (0.00 sec)
CREATE TABLE tutorials_tbl(
tutorial_id INT NOT NULL AUTO_INCREMENT,
tutorial_title VARCHAR(100) NOT NULL,
tutorial_author VARCHAR(40) NOT NULL,
submission_date DATE,
PRIMARY KEY ( tutorial_id )
);
------Insert script--------
INSERT INTO tutorials_tbl
(tutorial_title, tutorial_author, submission_date)
VALUES
("Learn PHP", "John Poul", NOW());
INSERT INTO tutorials_tbl
(tutorial_title, tutorial_author, submission_date)
VALUES
("Learn MySQL", "Abdul S", NOW());
INSERT INTO tutorials_tbl
(tutorial_title, tutorial_author, submission_date)
VALUES
("JAVA Tutorial", "Sanjay", '2007-05-06');
CREATE USER 'Hulk'@'localhost' IDENTIFIED BY 'Hulk@123$#@';
GRANT ALL PRIVILEGES ON *.* TO 'Hulk'@'localhost' WITH GRANT OPTION;
#!/bin/bash
cdm=`date +"%Y_%m_%d"`
user_name="Hulk"
password="Hulk@123$#@"
db_name="test"
echo "Mysqldump database creation is progress"
start_time=`date +"%Y-%m-%d-%H-%M-%s"`
echo "$start_time Script Start Time"
mysqldump -u $user_name --password=$password $db_name > /backup-dir/$db_name-$cdm.sql
end_time=`date +"%Y-%m-%d-%H-%M-%s"`
echo "mysqldump $end_time completed"
Expected Output:
Mysqldump database creation is progress
2023-02-09-15-30-1675956646 Script Start Time
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump 2023-02-09-15-30-1675956646 completed
mysqldump -u $user_name -p $password $db_name | aws s3 cp - s3://backup-dir/$db_name-$cdm.sql --region us-west-2
#!/bin/bash
cdm=`date +"%Y_%m_%d"`
user_name="Hulk"
passwd="Hulk@123$#@"
db_name="test"
echo "Mysqldump database creation is progress"
start_time=`date +"%Y-%m-%d-%H-%M-%s"`
echo "$start_time Script Start Time"
mysqldump -u $user_name --password=$password $db_name | aws s3 cp - s3://backup-dir/$db_name-$cdm.sql --region us-west-2
end_time=`date +"%Y-%m-%d-%H-%M-%s"`
echo "mysqldump $end_time completed"
Expected-output:
Mysqldump database creation is progress
2023-02-09-15-30-1675956646 Script Start Time
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump 2023-02-09-15-30-1675956646 completed
Catatan: Untuk memindahkan cadangan di S3 kita harus menginstal awscli di benteng kita serta kita perlu mengonfigurasi kunci akses dan akses keamanan di perintah konfigurasi aws, jika tidak maka akan melalui kesalahan.
Peringatan Mysql Menggunakan Kata Sandi pada Antarmuka Baris Perintah Bisa Tidak Aman
- Untuk memperbaiki pesan peringatan di atas kita harus membuat nama file teks yang disebut "myhostalias"
vi myhostalias
mysql_config_editor set --login-path=myhostalias --host=localhost --user=Hulk --password=Hulk@123$#@
Here our
#!/bin/bash
cdm=`date +"%Y_%m_%d"`
db_name="test"
echo "Mysqldump database creation is progress"
start_time=`date +"%Y-%m-%d-%H-%M-%s"`
echo "$start_time Script Start Time"
mysqldump --login-path=myhostalias $db_name > $db_name-$cdm.sql
end_time=`date +"%Y-%m-%d-%H-%M-%s"`
echo "mysqldump $end_time completed"
Expected output:
Mysqldump database creation is progress
2023-02-09-15-38-1675957098 Script Start Time
mysqldump 2023-02-09-15-38-1675957098 completed
Catatan: Ini untuk tujuan membaca, jangan mencoba menyalin dan mengeksekusi di lingkungan produksi Anda