diff --git a/main/mariadb/APKBUILD b/main/mariadb/APKBUILD
index 8be8fbdd47259bcdc842612c95e94501e18e37a7..96d3a79f3d1e6b60ab026ec3957b6451faacdcec 100644
--- a/main/mariadb/APKBUILD
+++ b/main/mariadb/APKBUILD
@@ -7,7 +7,7 @@
 # Contributor: Jake Buchholz <tomalok@gmail.com>
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=mariadb
-pkgver=10.11.8
+pkgver=11.4.2
 pkgrel=0
 pkgdesc="A fast SQL database server"
 url="https://www.mariadb.org/"
@@ -321,12 +321,12 @@ package() {
 		"$pkgdir"/etc/init.d/$pkgname
 	mkdir -p "$pkgdir"/etc/my.cnf.d
 
-	# mysql-test includes one executable that doesn't belong under
+	# mariadb-test includes one executable that doesn't belong under
 	# /usr/share, so move it and provide a symlink
-	mv "$pkgdir"/usr/mysql-test/lib/My/SafeProcess/my_safe_process \
+	mv "$pkgdir"/usr/mariadb-test/lib/My/SafeProcess/my_safe_process \
 		"$pkgdir"/usr/bin
 	ln -s ../../../../bin/my_safe_process \
-		"$pkgdir"/usr/mysql-test/lib/My/SafeProcess/my_safe_process
+		"$pkgdir"/usr/mariadb-test/lib/My/SafeProcess/my_safe_process
 
 	# remove files provided by mariadb-connector-c
 	rm \
@@ -456,7 +456,7 @@ mytest() {
 		usr/bin/mariadb-test-embedded \
 		usr/bin/mysqltest \
 		usr/bin/mysqltest_embedded \
-		usr/mysql-test
+		usr/mariadb-test
 }
 
 client() {
@@ -553,11 +553,11 @@ _plugin_rocksdb() {
 }
 
 sha512sums="
-61bdbe4a51adb438335c22bfcf75f59864fa0412c7ed6e938ef73fd602c2ef27131dbeef83cd314f2bea54135c6e8f8646608ff96a7ce6ce2c74f34ef6a8675f  mariadb-10.11.8.tar.gz
+02db06115e1f1f7c8a872b5cae4e299011813bc9f097e9d77756dfd68d4cb7fc91d6b94380d70910cb6994c0f71d60400a58c226fbce08dd9efc337ab028f6a6  mariadb-11.4.2.tar.gz
 c352969f6665b0ffa387f7b185a5dea7751f4b16c12c809627857b27321efa09159369d7dd5c852d6159a9f173cb895fb601f0c52a1fa6e3527899520030964c  mariadb.initd
 ec9068ee1da8276f04ac3654640cb6149e0f0a21ee77b133d7e5b82fa2ab2fd7971bce6ea3c5a5e094d8c6e2571f4ce43d7014b2767bb27e0a335005ced81968  gcc13.patch
-466d21376f6abae024aee26af701aa93275734c47a9c93084cec17e2e089667d059fbf76ea9c748c97de4a4b37c6663370f1d1f2183e17e69bd98213a57667ce  lfs64.patch
+cccaa99917913f5f08204464e7fb9865e30760a1933ff240c0035271f831058d2ea4ada867da164309bfc91f6b564ec13bb290900d90c3697866971c7666f91b  lfs64.patch
 20331e52e3dc419b4833e3c16bbb9828b9591f8aa3b6fce93c592161f3cae403c4a5d073369b2383d7d2325a2c9394d178866ac3e069fd8b6c50be00155ba942  ppc-remove-glibc-dep.patch
-598490b4bb45c9f7be46086d25c2b6c601d417c45f11aa519c2290065e7d6e98a7519f9860b823e67a8fd3e6ce3b4728af73ec3a2c66eec32b42fd4ad7cc07f7  disable-failing-test.patch
+c0955a5d3fecafd0fc602df7dd06f75056a1b114771189db42e5aa0f6f877047831caba3e7629edb3c54bdfb75e337b6d281adfde279ce86db9e9561e8f73ad9  disable-failing-test.patch
 4965275371e6d5e08e32a16fcfff2e68dfdcf6f4c30e5beffe18dcf56b503cbf373feeda814694e048964b16165ad65156c32fe27e974bed47201e8cf60736c6  have_stacktrace.patch
 "
diff --git a/main/mariadb/disable-failing-test.patch b/main/mariadb/disable-failing-test.patch
index 6c546decbc3d9215e449c09adf7302dcb172ae95..1b176cc2008bfe1f8f7a5ed1ccf51cbec0039e69 100644
--- a/main/mariadb/disable-failing-test.patch
+++ b/main/mariadb/disable-failing-test.patch
@@ -19,11 +19,13 @@ index a2da150..fd04ef4 100644
  SET(ma_pagecache_consist_src ma_pagecache_consist.c test_file.c test_file.h)
 --- a/unittest/mysys/CMakeLists.txt	2020-11-10 14:15:06.000000000 +0100
 +++ b/unittest/mysys/CMakeLists.txt	2020-11-24 21:08:46.721183004 +0100
-@@ -15,7 +15,7 @@
+@@ -14,8 +14,8 @@
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
  
  MY_ADD_TESTS(bitmap base64 my_atomic my_rdtsc lf my_malloc my_getopt dynstring
-              byte_order
+-             byte_order my_tzinfo
 -             queues stacktrace crc32 LINK_LIBRARIES mysys)
++             byte_order
 +             queues crc32 LINK_LIBRARIES mysys)
  MY_ADD_TESTS(my_vsnprintf LINK_LIBRARIES strings mysys)
  MY_ADD_TESTS(aes LINK_LIBRARIES  mysys mysys_ssl)
diff --git a/main/mariadb/lfs64.patch b/main/mariadb/lfs64.patch
index 38cf1fc1b9eee1500c4601fbafe54efc68f11fe3..6831b396463c2f93e2efbe4ba58b04916b61199e 100644
--- a/main/mariadb/lfs64.patch
+++ b/main/mariadb/lfs64.patch
@@ -189,7 +189,7 @@ diff --git a/storage/columnstore/columnstore/utils/idbdatafile/BufferedFile.cpp
 index 6d7c5834..cb3f2510 100644
 --- a/storage/columnstore/columnstore/utils/idbdatafile/BufferedFile.cpp
 +++ b/storage/columnstore/columnstore/utils/idbdatafile/BufferedFile.cpp
-@@ -67,7 +67,7 @@ BufferedFile::~BufferedFile()
+@@ -61,7 +61,7 @@ BufferedFile::~BufferedFile()
    delete[] m_buffer;
  }
  
@@ -198,7 +198,7 @@ index 6d7c5834..cb3f2510 100644
  {
    ssize_t ret = 0;
    int savedErrno;
-@@ -122,7 +122,7 @@ ssize_t BufferedFile::read(void* ptr, size_t count)
+@@ -116,7 +116,7 @@ ssize_t BufferedFile::read(void* ptr, size_t count)
  ssize_t BufferedFile::write(const void* ptr, size_t count)
  {
    ssize_t ret = 0;
@@ -207,7 +207,7 @@ index 6d7c5834..cb3f2510 100644
    int savedErrno = 0;
    size_t progress = 0;
    uint8_t* ptr8 = (uint8_t*)ptr;
-@@ -150,7 +150,7 @@ ssize_t BufferedFile::write(const void* ptr, size_t count)
+@@ -144,7 +144,7 @@ ssize_t BufferedFile::write(const void* ptr, size_t count)
    return progress;
  }
  
@@ -216,7 +216,7 @@ index 6d7c5834..cb3f2510 100644
  {
    int ret = 0;
    int savedErrno;
-@@ -168,7 +168,7 @@ int BufferedFile::seek(off64_t offset, int whence)
+@@ -158,7 +158,7 @@ int BufferedFile::seek(off64_t offset, int whence)
    return ret;
  }
  
@@ -225,16 +225,13 @@ index 6d7c5834..cb3f2510 100644
  {
    int ret = 0;
    int savedErrno;
-@@ -187,14 +187,14 @@ int BufferedFile::truncate(off64_t length)
+@@ -173,11 +173,11 @@ int BufferedFile::truncate(off64_t length)
    return ret;
  }
  
 -off64_t BufferedFile::size()
 +off_t BufferedFile::size()
  {
- #ifdef _MSC_VER
-   return _filelengthi64(fileno(m_fp));  // Interestingly, implemented as fseek/ftell in the windows crt
- #else
    // going to calculate size 2 ways - first, via seek
 -  off64_t length = -1;
 -  off64_t here;
@@ -243,7 +240,7 @@ index 6d7c5834..cb3f2510 100644
  
    flockfile(m_fp);
  
-@@ -220,7 +220,7 @@ off64_t BufferedFile::size()
+@@ -202,7 +202,7 @@ off64_t BufferedFile::size()
  #endif
  }
  
@@ -252,7 +249,7 @@ index 6d7c5834..cb3f2510 100644
  {
  #ifdef _MSC_VER
    return _ftelli64(m_fp);
-@@ -282,7 +282,7 @@ int BufferedFile::close()
+@@ -256,7 +256,7 @@ int BufferedFile::close()
       @see
      This one is used in shared/we_fileop.cpp to skip expensive file preallocation.
  */
@@ -485,7 +482,7 @@ diff --git a/storage/columnstore/columnstore/utils/idbdatafile/UnbufferedFile.cp
 index 07a7630b..97dcb97c 100644
 --- a/storage/columnstore/columnstore/utils/idbdatafile/UnbufferedFile.cpp
 +++ b/storage/columnstore/columnstore/utils/idbdatafile/UnbufferedFile.cpp
-@@ -75,7 +75,7 @@ UnbufferedFile::~UnbufferedFile()
+@@ -62,7 +62,7 @@ UnbufferedFile::~UnbufferedFile()
    close();
  }
  
@@ -494,7 +491,7 @@ index 07a7630b..97dcb97c 100644
  {
    ssize_t ret;
    int savedErrno;
-@@ -161,7 +161,7 @@ ssize_t UnbufferedFile::write(const void* ptr, size_t count)
+@@ -112,7 +112,7 @@ ssize_t UnbufferedFile::write(const void* ptr, size_t count)
    return ret;
  }
  
@@ -503,7 +500,7 @@ index 07a7630b..97dcb97c 100644
  {
    int ret;
    int savedErrno;
-@@ -182,7 +182,7 @@ int UnbufferedFile::seek(off64_t offset, int whence)
+@@ -127,7 +127,7 @@ int UnbufferedFile::seek(off64_t offset, int whence)
    return ret;
  }
  
@@ -512,7 +509,7 @@ index 07a7630b..97dcb97c 100644
  {
    int ret;
    int savedErrno;
-@@ -207,15 +207,15 @@ int UnbufferedFile::truncate(off64_t length)
+@@ -142,9 +142,9 @@ int UnbufferedFile::truncate(off64_t length)
    return ret;
  }
  
@@ -523,15 +520,8 @@ index 07a7630b..97dcb97c 100644
 +  off_t ret = 0;
    int savedErrno;
  
- #ifdef _MSC_VER
-   DWORD hi = 0;
-   DWORD lo = GetFileSize(m_fd, &hi);
--  ret = off64_t(((uint64_t)hi) << 32) | lo;
-+  ret = off_t(((uint64_t)hi) << 32) | lo;
- #else
    struct stat statBuf;
-   int rc = ::fstat(m_fd, &statBuf);
-@@ -230,9 +230,9 @@ off64_t UnbufferedFile::size()
+@@ -159,9 +159,9 @@ off64_t UnbufferedFile::size()
    return ret;
  }
  
@@ -540,10 +530,10 @@ index 07a7630b..97dcb97c 100644
  {
 -  off64_t ret;
 +  off_t ret;
- #ifdef _MSC_VER
-   LARGE_INTEGER wRet;
-   LARGE_INTEGER dist;
-@@ -333,7 +333,7 @@ int UnbufferedFile::close()
+   ret = lseek(m_fd, 0, SEEK_CUR);
+   return ret;
+ }
+@@ -218,7 +218,7 @@ int UnbufferedFile::close()
       @see
      This one is used in shared/we_fileop.cpp to skip expensive file preallocation.
  */