MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Upgrade ke Jira Terbaru dengan Server MariaDB Versi Terbaru

Dalam pengembangan Server MariaDB kami menggunakan Jira Atlassian sebagai perangkat lunak pelacakan masalah dan proyek, tetapi juga untuk perencanaan. Kami telah menggunakan Jira sejak 2012, saat kami bermigrasi dari Launchpad. Pada saat itu kami menggunakan Jira di cloud Atlassian, tetapi beberapa tahun kemudian kami memutuskan untuk menginstal instance Jira kami sendiri dan menjalankannya di atas Server MariaDB. Saya sebelumnya telah menulis posting blog tentang itu.

Jira di atas Server MariaDB BUKAN kombinasi yang didukung. Jira mendukung MySQL, tetapi secara resmi belum MariaDB. Kami tentunya menginginkan sebanyak mungkin perangkat lunak untuk mendukung Server MariaDB untuk memudahkan pelanggan dan pengguna kami. Kami tidak sendirian dengan berpikir seperti ini. Permintaan untuk mendukung Server MariaDB di Jira ditemukan di sini dan permintaan yang lebih luas untuk mendukung Server MariaDB di produk Atlassian secara umum ditemukan di sini. Tambahkan suara Anda agar Server MariaDB segera didukung secara resmi. Tapi masalahnya, meskipun tidak didukung secara resmi, kombinasi Jira dan MariaDB bekerja dengan baik. Kami meningkatkan ke Jira terbaru dan MariaDB versi terbaru baru-baru ini.

Sebelum meningkatkan versi Setelah peningkatan
OS untuk Jira Ubuntu 14.04 Ubuntu 18.04
OS untuk MariaDB Ubuntu 14.04 Ubuntu 18.04
Versi Jira 7.2.1 7.12.1
Versi Server MariaDB 10.1.35 10.3.9
Pengemudi JDBC Konektor MariaDB/J 2.1.2 Konektor MariaDB/J 2.3.0
Server web Nginx 1.10.1 Nginx 1.14.0
Perbarui pengaya Jira

Jira memiliki banyak plugin dan versi plugin harus kompatibel dengan versi Jira yang sedang berjalan. Ada alat yang disertakan dalam Jira, Jira Update Check untuk add-on, yang dapat ditemukan di URL /plugins/servlet/upm/check . Gunakan alat tersebut untuk memperbarui semua add-on ke versi yang akan didukung di versi Jira yang akan Anda tingkatkan.

Hentikan akses ke Jira

Mari kita mulai dengan peningkatan yang sebenarnya. Mulailah dengan membuat Jira tidak tersedia bagi pengguna, dengan menyajikan halaman pemeliharaan untuk semua orang yang mencoba mengakses Jira. Ini mudah dilakukan dengan Nginx. Di lokasi arahan dalam konfigurasi Nginx, periksa file pemeliharaan dan jika ditemukan tunjukkan untuk semua URL.

...
location / {
if (-f $document_root/maintenance.html) {
return 503;
}
...
error_page 503 @maintenance;

lokasi @maintenance {
tulis ulang ^(.*)$ /maintenance.html break;
}

Cadangkan database dan direktori

Sebelum memulai pemutakhiran, tentu saja harus memastikan bahwa cadangan ada. Ketika datang ke Jira, seseorang harus memiliki cadangan penuh dari database dan direktori yang digunakan Jira untuk menyimpan lampiran dan gambar avatar pengguna. Kami memiliki alat pencadangan yang berjalan di server yang menghasilkan cadangan penuh setiap hari. Selain itu, saya juga melakukan dump database menggunakan utilitas dump.

Cadangan basis data dengan utilitas dump:

$ mysqldump -u username -p databasename > jiradb20180907.sql
$ tar -zcvf jiradb20180907.tar.gz jiradb20180907.sql

Cadangan lampiran dan avatar:

$ tar -zcvf attachments20180908.tar.gz /data/jira/data/attachments/
$ tar -zcvf avatars20180908.tar.gz /data/jira/data/avatars/

Salin file cadangan ke server lain jika terjadi kesalahan fatal dalam proses peningkatan.

Peningkatan OS

Server Jira kami menjalankan Ubuntu 14.04 dan saat memutakhirkan perangkat lunak, kami juga ingin memutakhirkan OS. Saya tidak akan membahas detail peningkatan Ubuntu, tetapi pada dasarnya saya menjalankan do-release-upgrade dua kali untuk mendapatkan server ke Ubuntu 18.04. Ada beberapa hal yang harus saya lakukan. Saya harus membuat file /etc/update-manager/release-upgrades.d/unauth.cfg dan menambahkan yang berikut ini. Ini untuk memungkinkan library yang tidak dapat diautentikasi oleh proses upgrade rilis, yaitu library Galera dan MariaDB.

[Distro]
AllowUnauthenticated=yes

Setelah upgrade, hapus file unauth.cfg.

Dalam kasus saya, pemutakhiran (dari 16,04 ke 18,04) mengubah konfigurasi server SSH dan saya tidak bisa lagi SSH ke server. Saya kira saya memilih "Ya" di suatu tempat yang seharusnya tidak saya miliki. Untungnya saya memiliki akses konsol dan mengonfigurasi SSH secara manual.

Nginx ditingkatkan selama peningkatan OS. Verifikasi dengan menjalankan perintah:nginx -v

Upgrade Server MariaDB

Dalam kasus kami, kami telah menginstal MariaDB Server 10.1. Ini adalah langkah-langkah untuk membawanya ke versi GA stabil terbaru dari MariaDB Server:

  • Hentikan MariaDB Server 10.1:Sudo service mysql stop
  • Copot pemasangan 10.1:sudo apt remove mariadb-server
  • Tambahkan repositori MariaDB Server 10.2. Saya akan menggunakan skrip penyiapan repositori mariadb.com:
    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s — –mariadb-server-version=mariadb-10.2
    Untuk informasi lebih lanjut tentang skrip repositori, silakan merujuk ke dokumentasi.
  • Instal 10.2:sudo apt install mariadb-server
  • Verifikasi bahwa MariaDB Server 10.2 berjalan dan berfungsi
  • Hentikan MariaDB:Sudo service mysql stop
  • Copot pemasangan 10.2:sudo apt remove mariadb-server
  • Tambahkan repositori MariaDB Server 10.2. Saya akan kembali menggunakan skrip penyiapan repositori mariadb.com:
    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s — –mariadb-server-version=mariadb-10.3
  • Instal 10.3:sudo apt install mariadb-server
  • Verifikasi bahwa MariaDB 10.3 berjalan dan berfungsi. Periksa apakah datadir di dalam /etc/mysql/my.cnf menunjuk ke direktori tempat Anda menyimpan file database
Pembaruan JDBC, Konektor MariaDB/J

Sebelum pindah ke upgrade Jira sendiri mari kita update driver JDBC terlebih dahulu agar tidak harus me-restart Jira beberapa kali. Memperbarui MariaDB Connector/J sangat mudah. Ambil Connector/J versi terbaru dari downloads.mariadb.com, letakkan di direktori lib Jira dan hapus yang lama:

$ wget https://downloads.mariadb.com/Connectors/java/connector-java-2.3.0/mariadb-java-client-2.3.0.jar
$ mv /opt/atlassian/jira/lib/mariadb-java-client-2.1.2.jar ~
$ mv mariadb-java-client-2.3.0.jar /opt/atlassian/jira/lib/

Peningkatan Jira

Terakhir, tingkatkan Jira dengan penginstal Jira:

  • Pemasang Jira tersedia di sini:https://www.atlassian.com/software/jira/download
  • Konfigurasi jira cadangan:sudo tar -zcvf conf20180909.tar.gz /opt/atlassian/jira/conf
  • Stop Jira:sudo service jira stop
  • Mulai peningkatan versi:sudo ./atlassian-jira-software-7.12.1-x64.bin
  • Ikuti petunjuk penginstal
  • Coba mulai Jira:sudo service jira start (yang tidak akan berfungsi karena server.xml telah diganti)

Seperti yang dikatakan pada langkah terakhir, Jira tidak akan memulai karena penginstal telah mengganti file konfigurasi server.xml. Sekarang Anda perlu mengubahnya kembali ke konfigurasi Anda. Cara mudah untuk melakukannya adalah dengan membuat perbedaan antara server.xml yang Anda miliki sebelumnya dan yang baru ini. Setelah konfigurasi terpasang, mulailah Jira.

Ingatlah juga untuk menghapus (atau mengganti nama) file maintenance.html yang digunakan oleh Nginx, jika Anda menggunakan cara tersebut untuk menempatkan Jira dalam mode pemeliharaan.

Setelah Jira bangkit dan berjalan lagi, semuanya bekerja dengan baik. Kami mengetahui beberapa hari kemudian bahwa ada satu hal yang tidak berfungsi seperti sebelumnya. Kami menggunakan Tableau untuk pelaporan dan kami telah menginstal add-on "All-in-One Tableau Connector for Jira". Ternyata pengaya ini menghasilkan kueri SQL SELECT yang memiliki kolom ROWS di dalamnya. ROWS adalah kata yang dicadangkan di 10.3, jadi ketika meminta kolom bernama seperti itu, seseorang harus menandai namanya, yaitu ROWS. Untungnya, perusahaan di balik pengaya ini juga ingin memastikan pengaya tersebut berfungsi untuk kami dan setelah kami menemukan alasannya, mereka memberi kami versi pengaya baru beberapa jam kemudian.

Ada satu hal lagi yang harus saya lakukan. Kami menggunakan versi cadangan sebelumnya yang tidak kompatibel dengan MariaDB Server 10.3. Kami menyarankan Anda menggunakan Cadangan MariaDB untuk cadangan Anda. Topik ini layak mendapatkan posting blog terpisah dan saya akan membahasnya nanti.

Sejak peningkatan kami pada bulan September, versi terbaru Jira telah aktif dan berjalan sepanjang waktu di atas versi terbaru MariaDB yang melayani pengguna Jira MariaDB.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana EXPORT_SET() Bekerja di MariaDB

  2. Cara Memformat Angka di MariaDB

  3. Desain Basis Data 101:Partisi di MySQL

  4. Cara Melakukan Perubahan Skema di MySQL &MariaDB dengan Cara yang Aman

  5. Cara mengkonfigurasi AppArmor untuk sistem berbasis MySQL (Replikasi MySQL/MariaDB + Galera)