MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Nâng cấp lên Jira mới nhất với phiên bản mới nhất của máy chủ MariaDB

Trong quá trình phát triển Máy chủ MariaDB, chúng tôi sử dụng Atlassian’s Jira làm phần mềm theo dõi sự cố và dự án, nhưng cũng để lập kế hoạch. Chúng tôi đã sử dụng Jira từ năm 2012, khi chúng tôi di chuyển từ Launchpad. Tại thời điểm đó, chúng tôi đã sử dụng Jira trong đám mây của Atlassian, nhưng vài năm sau, chúng tôi quyết định cài đặt phiên bản Jira của riêng mình và chạy nó trên Máy chủ MariaDB. Trước đây tôi đã viết một bài đăng trên blog về nó.

Jira trên máy chủ MariaDB KHÔNG phải là một tổ hợp được hỗ trợ. Jira hỗ trợ MySQL, nhưng chính thức chưa phải là MariaDB. Tất nhiên, chúng tôi muốn có càng nhiều phần mềm càng tốt để hỗ trợ Máy chủ MariaDB để giúp khách hàng và người dùng của chúng tôi dễ dàng hơn. Chúng tôi không đơn độc với suy nghĩ theo cách này. Yêu cầu hỗ trợ Máy chủ MariaDB trong Jira được tìm thấy tại đây và yêu cầu rộng hơn để hỗ trợ Máy chủ MariaDB trong các sản phẩm Atlassian nói chung được tìm thấy tại đây. Thêm phiếu bầu của bạn để hy vọng rằng Máy chủ MariaDB sớm được hỗ trợ chính thức. Nhưng vấn đề là, mặc dù không được hỗ trợ chính thức, sự kết hợp giữa Jira và MariaDB vẫn hoạt động tốt. Chúng tôi đã nâng cấp lên Jira mới nhất và phiên bản mới nhất của MariaDB gần đây.

Trước khi nâng cấp Sau khi nâng cấp
OS cho Jira Ubuntu 14.04 Ubuntu 18.04
OS cho MariaDB Ubuntu 14.04 Ubuntu 18.04
Phiên bản Jira 7.2.1 7.12.1
Phiên bản máy chủ MariaDB 10.1.35 10.3.9
Trình điều khiển JDBC Trình kết nối MariaDB / J 2.1.2 Trình kết nối MariaDB / J 2.3.0
Máy chủ web Nginx 1.10.1 Nginx 1.14.0
Cập nhật tiện ích bổ sung Jira

Jira có rất nhiều plugin và các phiên bản plugin cần phải tương thích với phiên bản Jira đang chạy. Có một công cụ được bao gồm trong Jira, Kiểm tra cập nhật Jira cho các tiện ích bổ sung, được tìm thấy trong URL / plugins / servlet / upm / check. Sử dụng công cụ đó để cập nhật tất cả các tiện ích bổ sung lên các phiên bản sẽ được hỗ trợ trong phiên bản Jira mà bạn sẽ nâng cấp lên.

Ngừng truy cập Jira

Hãy bắt đầu với việc nâng cấp thực tế. Bắt đầu với việc làm cho Jira không khả dụng với người dùng, bằng cách cung cấp một trang bảo trì cho những người cố gắng truy cập Jira. Điều này có thể dễ dàng thực hiện với Nginx. Ở vị trí trong cấu hình Nginx, hãy kiểm tra tệp bảo trì và nếu tìm thấy, hãy hiển thị tệp đó cho tất cả các URL.

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

location @maintenance {
rewrite ^ (. *) $ /maintenance.html break;
}

Sao lưu cơ sở dữ liệu và thư mục

Trước khi bắt đầu nâng cấp, tất nhiên phải đảm bảo rằng các bản sao lưu tồn tại. Khi nói đến Jira, người ta nên có một bản sao lưu đầy đủ cơ sở dữ liệu và các thư mục mà Jira sử dụng để lưu trữ các tệp đính kèm và hình ảnh đại diện của người dùng. Chúng tôi đã có một công cụ sao lưu chạy trên máy chủ tạo ra các bản sao lưu đầy đủ hàng ngày. Ngoài ra, tôi cũng đã thực hiện kết xuất cơ sở dữ liệu bằng cách sử dụng tiện ích kết xuất.

Sao lưu cơ sở dữ liệu với tiện ích kết xuất:

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

Sao lưu tệp đính kèm và hình đại diện:

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

Sao chép các tệp sao lưu sang một máy chủ khác trong trường hợp có sự cố nghiêm trọng trong quá trình nâng cấp.

Nâng cấp hệ điều hành

Máy chủ Jira của chúng tôi đang chạy Ubuntu 14.04 và trong khi nâng cấp phần mềm, chúng tôi cũng muốn nâng cấp hệ điều hành. Tôi sẽ không đi vào chi tiết về việc nâng cấp Ubuntu, nhưng về cơ bản tôi đã chạy do-release-upgrade hai lần để đưa máy chủ lên Ubuntu 18.04. Có một số việc tôi phải làm. Tôi phải tạo tệp /etc/update-manager/release-upgrades.d/unauth.cfg và thêm phần sau. Điều này nhằm cho phép các thư viện mà quá trình nâng cấp bản phát hành không thể xác thực, đó là các thư viện Galera và MariaDB.

[Distro]
AllowUnauthenticated=yes

Sau khi nâng cấp, hãy xóa tệp unauth.cfg.

Trong trường hợp của tôi, bản nâng cấp (từ 16.04 lên 18.04) đã thay đổi cấu hình máy chủ SSH và tôi không thể SSH cho máy chủ nữa. Tôi đoán tôi đã chọn "Có" ở một nơi nào đó mà tôi không nên có. May mắn thay, tôi có quyền truy cập bảng điều khiển và được định cấu hình SSH theo cách thủ công.

Nginx được nâng cấp trong quá trình nâng cấp hệ điều hành. Xác minh bằng cách chạy lệnh:nginx -v

Nâng cấp máy chủ MariaDB

Trong trường hợp của chúng tôi, chúng tôi đã cài đặt MariaDB Server 10.1. Đây là các bước để đưa nó lên phiên bản GA ổn định mới nhất của Máy chủ MariaDB:

  • Stop MariaDB Server 10.1:sudo service mysql stop
  • Gỡ cài đặt 10.1:sudo apt remove mariadb-server
  • Thêm kho lưu trữ Máy chủ MariaDB 10.2. Tôi sẽ sử dụng tập lệnh thiết lập kho lưu trữ mariadb.com:
    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s - –mariadb-server-version =mariadb-10.2
    Để biết thêm thông tin về tập lệnh kho lưu trữ, vui lòng tham khảo tài liệu.
  • Cài đặt 10.2:sudo apt install mariadb-server
  • Xác minh rằng Máy chủ MariaDB 10.2 đang chạy và hoạt động
  • Stop MariaDB:sudo service mysql stop
  • Gỡ cài đặt 10.2:sudo apt remove mariadb-server
  • Thêm kho lưu trữ Máy chủ MariaDB 10.2. Tôi sẽ lại sử dụng tập lệnh thiết lập kho lưu trữ mariadb.com:
    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s - –mariadb-server-version =mariadb-10.3
  • Cài đặt 10.3:sudo apt install mariadb-server
  • Xác minh rằng MariaDB 10.3 đang chạy và hoạt động. Kiểm tra datadir trong /etc/mysql/my.cnf đang trỏ đến thư mục mà bạn có các tệp cơ sở dữ liệu của mình
JDBC, Trình kết nối MariaDB / Cập nhật J

Trước khi chuyển sang nâng cấp bản thân Jira, hãy cập nhật trình điều khiển JDBC trước để không phải khởi động lại Jira nhiều lần. Cập nhật Trình kết nối MariaDB / J sẽ diễn ra ngay lập tức. Chọn phiên bản Connector / J mới nhất từ ​​Download.mariadb.com, đặt nó vào thư mục lib của Jira và xóa phiên bản cũ:

$ 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/

Nâng cấp Jira

Cuối cùng nâng cấp Jira bằng trình cài đặt Jira:

  • Trình cài đặt Jira có sẵn tại đây:https://www.atlassian.com/software/jira/download
  • Cấu hình jira sao lưu:sudo tar -zcvf conf20180909.tar.gz / opt / atlassian / jira / conf
  • Stop Jira:sudo service jira stop
  • Bắt đầu nâng cấp:sudo ./atlassian-jira-software-7.12.1-x64.bin
  • Làm theo hướng dẫn về trình cài đặt
  • Hãy thử khởi động Jira:sudo service jira start (sẽ không hoạt động vì server.xml đã được thay thế)

Như đã nói ở bước cuối cùng, Jira sẽ không bắt đầu vì trình cài đặt đã thay thế tệp cấu hình server.xml. Bây giờ bạn cần thay đổi nó trở lại cấu hình của bạn. Một cách dễ dàng để thực hiện là tạo sự khác biệt giữa server.xml mà bạn đã có trước đó và mới này. Khi cấu hình đã sẵn sàng, hãy bắt đầu Jira.

Ngoài ra, hãy nhớ xóa (hoặc đổi tên) tệp duy trì.html được sử dụng bởi Nginx, trong trường hợp bạn đã sử dụng cách đó để đưa Jira vào chế độ bảo trì.

Sau khi có Jira và chạy lại mọi thứ đều hoạt động tốt. Vài ngày sau, chúng tôi biết được rằng có một thứ không hoạt động như trước. Chúng tôi sử dụng Tableau để báo cáo và chúng tôi đã cài đặt tiện ích bổ sung “All-in-One Tableau Connector cho Jira”. Hóa ra là các truy vấn SQL SELECT do tiện ích bổ sung này tạo ra có cột ROWS trong đó. ROWS là một từ dành riêng trong 10.3, vì vậy khi yêu cầu một cột được đặt tên theo cách đó, người ta phải đánh dấu ngược lại tên, tức là ´ROWS´. May mắn thay, công ty đằng sau tiện ích bổ sung này cũng muốn đảm bảo tiện ích bổ sung hoạt động cho chúng tôi và khi chúng tôi tìm ra lý do, họ đã cung cấp cho chúng tôi phiên bản mới của tiện ích bổ sung này vài giờ sau đó.

Còn một việc nữa mà tôi phải làm. Chúng tôi đang sử dụng phiên bản sao lưu trước đó không tương thích với MariaDB Server 10.3. Chúng tôi khuyên bạn nên sử dụng MariaDB Backup để sao lưu. Chủ đề xứng đáng có một bài đăng trên blog riêng và tôi sẽ nói về vấn đề đó sau một chút.

Kể từ khi chúng tôi nâng cấp vào tháng 9, phiên bản Jira mới nhất đã được thiết lập và chạy mọi lúc trên phiên bản MariaDB mới nhất phục vụ người dùng MariaDB’s Jira.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuẩn bị máy chủ MySQL hoặc MariaDB để sản xuất - Phần thứ hai

  2. Cách TO_SECONDS () hoạt động trong MariaDB

  3. Sao lưu cơ sở dữ liệu - So sánh MariaDB Mariabackup và Percona Xtrabackup

  4. Cách cấu hình AppArmor cho các hệ thống dựa trên MySQL (MySQL / MariaDB Replication + Galera)

  5. Kiểm tra đối tượng lược đồ cơ sở dữ liệu tự động