Kali ini dapat tugas untuk merestore aplikasi web berbasis WordPress yang sangat jadul, tidak diketahui menggunakan versi berapa database-nya.
/var/lib/mysql/home/situs/backup/mysqlNah, untuk melakukan reset password root, kita perlu siapkan sebuah file sql
USE mysql; UPDATE USER SET Password=PASSWORD('rahasia') WHERE USER='root'; FLUSH PRIVILEGES;
untuk MySQL 5.7 ke atas, ubahPassword(setelah klausaSET) menjadiauthentication_string
Gantirahasiadengan password yang lebih bagus
Jalankan container mysql dengan perintah berikut:
docker run -ti --name test-mysql -v /home/situs/backup/mysql:/var/lib/mysql -v `pwd`/reset-password.sql:/docker-entrypoint-initdb.d/reset-password.sql mysql:5.6 bash
Perintah tersebut akan menjalankan container test-mysql tanpa menjalankan mysql server, perhatikan perintah bash di akhir baris yang meng-override entrypoint container mysql. Setelah kontainer menyala, jalankan mysql secara manual dengan perintah mysqld_safe –init-file=/docker-entrypoint-initdb.d/reset-password.sql seperti di bawah ini:
root@dfe726e2b96b:/# root@dfe726e2b96b:/# ls docker-entrypoint-initdb.d/ reset-password.sql root@dfe726e2b96b:/# mysqld_safe --init-file=/docker-entrypoint-initdb.d/reset-password.sql Logging to '/var/lib/mysql/dfe726e2b96b.err'. 210123 14:38:20 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Buka terminal lain, lalu coba jalankan perintah berikut untuk masuk ke database shell-nya:
docker exec -it test-mysql sh -c 'exec mysql -uroot -prahasia'
Jika muncul prompt mysql> maka sudah berhasil melakukan reset password. Keluar dari prompt tersebut dengan mengetikkan \q dan exit.
Langkah berikutnya adalah melalukan dump database dengan perintah mysqldump seperti berikut:
docker exec -it test-mysql sh -c 'exec mysqldump -uroot -prahasia wpdatabase' > /home/situs/backup/wpdatabase.sql
File backup database akan tersimpan di /home/situs/backup/wpdatabase.sql dan siap digunakan untuk langkah berikutnya, deploy ulang website dengan stack yang lebih baru.
Sekian, dan terima kasih sudah membaca catatan saya.