{"id":29724,"date":"2022-04-24T11:45:00","date_gmt":"2022-04-24T11:45:00","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=29724"},"modified":"2022-12-23T06:19:27","modified_gmt":"2022-12-23T06:19:27","slug":"rundeck-database-migration-from-h2-to-mysql-and-postgresql","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/rundeck-database-migration-from-h2-to-mysql-and-postgresql\/","title":{"rendered":"Rundeck Database Migration From H2 to MySql and postgresql"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Rundeck Database Migration From H2 to MySql<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1  &#8211; Install mySql Server<\/h3>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-devopsschool-com wp-block-embed-devopsschool-com\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"pNYO3g5dAS\"><a href=\"https:\/\/www.devopsschool.com\/blog\/how-to-install-mysql-and-maridadb-in-centos-rhel\/\">How to install MySql and MaridaDb in Centos\/RHEL?<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;How to install MySql and MaridaDb in Centos\/RHEL?&#8221; &#8212; DevOpsSchool.com\" src=\"https:\/\/www.devopsschool.com\/blog\/how-to-install-mysql-and-maridadb-in-centos-rhel\/embed\/#?secret=jjRnTTOFnj#?secret=pNYO3g5dAS\" data-secret=\"pNYO3g5dAS\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2 &#8211; Create rundeck db and rundeckuser and set their permissing<\/h3>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ mysql -u root -p\r\nmysql&gt; create database rundeck;\r\nmysql&gt; grant ALL on rundeck.* to <span class=\"hljs-string\">'rundeckuser'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> identified by <span class=\"hljs-string\">'rundeckpassword'<\/span>;\r\n$ mysql -u rundeckuser -p\r\nmysql&gt; show databases;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3 &#8211; Configuring Rundeck to connect to mysql DB<\/h3>\n\n\n\n<p>Update your&nbsp;<code>rundeck-config.properties<\/code>&nbsp;file with settings from the following database list and restart Rundeck. This file is located in different locations depending on your installation method:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>RPM\/DEB<\/strong>:&nbsp;<code>\/etc\/rundeck\/rundeck-config.properties<\/code><\/li><li><strong>WAR\/Custom<\/strong>:&nbsp;<code>$RDECK_BASE\/server\/config\/rundeck-config.properties<\/code><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"480\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/04\/image-10-1024x480.png\" alt=\"\" class=\"wp-image-29725\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/04\/image-10-1024x480.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/04\/image-10-300x141.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/04\/image-10-768x360.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/04\/image-10.png 1135w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"365\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/04\/image-11-1024x365.png\" alt=\"\" class=\"wp-image-29726\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/04\/image-11-1024x365.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/04\/image-11-300x107.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/04\/image-11-768x274.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/04\/image-11.png 1264w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4 &#8211; Change Server URL of grails.serverUrl<\/h3>\n\n\n\n<p>The configuration option grails.serverUrl must be set properly. The value should match the URL users would use to access Rundeck(ie the URL they would enter into the browser).<\/p>\n\n\n\n<p>For Docker this should be configured with the RUNDECK_GRAILS_URL environment variable.<br>For deb, rpm, and war this will be set as grails.serverUrl= in the rundeck-config.properties file<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5 &#8211; Copy MySQL JDBC Driver<\/h3>\n\n\n\n<p>To use the Oracle MySQL driver download it and copy it to the $RDECK_BASE\/server\/lib for war launcher or in \/var\/lib\/rundeck\/lib (create it) for RPM and DEB installations.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ mkdir \/<span class=\"hljs-keyword\">var<\/span>\/lib\/rundeck\/lib\r\n$ MYSQLJ_VERS=<span class=\"hljs-number\">8.0<\/span><span class=\"hljs-number\">.21<\/span>\r\n$ curl -L -o https:<span class=\"hljs-comment\">\/\/repo1.maven.org\/maven2\/mysql\/mysql-connector-java\/${MYSQLJ_VERS}\/mysql-connector-java-${MYSQLJ_VERS}.jar<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6 &#8211; restart Rundeck<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">$ sudo service rundeckd restart<\/code><\/span><\/pre>","protected":false},"excerpt":{"rendered":"<p>Rundeck Database Migration From H2 to MySql Step 1 &#8211; Install mySql Server Step 2 &#8211; Create rundeck db and rundeckuser and set their permissing Step 3 &#8211; Configuring Rundeck&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-29724","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/29724","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=29724"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/29724\/revisions"}],"predecessor-version":[{"id":29731,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/29724\/revisions\/29731"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=29724"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=29724"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=29724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}