Merge pull request #91944 from Izorkin/mariadb-update

mariadb: 10.4.15 -> 10.5.8
This commit is contained in:
Aaron Andersen 2021-01-12 12:13:30 -05:00 committed by GitHub
commit 1cf298791b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 32 deletions

View file

@ -256,6 +256,22 @@
which is the new stable release. OpenAFS 1.6 was removed.
</para>
</listitem>
<listitem>
<para>
MariaDB has been updated to 10.5.
Before you upgrade, it would be best to take a backup of your database and read
<link xlink:href="https://mariadb.com/kb/en/upgrading-from-mariadb-104-to-mariadb-105/#incompatible-changes-between-104-and-105">
Incompatible Changes Between 10.4 and 10.5</link>.
After the upgrade you will need to run <literal>mysql_upgrade</literal>.
</para>
</listitem>
<listitem>
<para>
The TokuDB storage engine dropped in <package>mariadb</package> 10.5 and removed in <package>mariadb</package> 10.6.
It is recommended to switch to RocksDB. See also <link xlink:href="https://mariadb.com/kb/en/tokudb/">TokuDB</link> and
<link xlink:href="https://jira.mariadb.org/browse/MDEV-19780">MDEV-19780: Remove the TokuDB storage engine</link>.
</para>
</listitem>
<listitem>
<para>
The <literal>openldap</literal> module now has support for OLC-style

View file

@ -98,7 +98,7 @@ import ./../make-test-python.nix ({ pkgs, ...} : {
}];
services.mysql.settings = {
mysqld = {
plugin-load-add = [ "ha_tokudb.so" "ha_rocksdb.so" ];
plugin-load-add = [ "ha_rocksdb.so" ];
};
};
services.mysql.package = pkgs.mariadb;
@ -185,19 +185,5 @@ import ./../make-test-python.nix ({ pkgs, ...} : {
mariadb.succeed(
"echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser"
)
'' + pkgs.lib.optionalString pkgs.stdenv.isx86_64 ''
# Check if TokuDB plugin works
mariadb.succeed(
"echo 'use testdb; create table tokudb (test_id INT, PRIMARY KEY (test_id)) ENGINE = TokuDB;' | sudo -u testuser mysql -u testuser"
)
mariadb.succeed(
"echo 'use testdb; insert into tokudb values (25);' | sudo -u testuser mysql -u testuser"
)
mariadb.succeed(
"echo 'use testdb; select test_id from tokudb;' | sudo -u testuser mysql -u testuser -N | grep 25"
)
mariadb.succeed(
"echo 'use testdb; drop table tokudb;' | sudo -u testuser mysql -u testuser"
)
'';
})

View file

@ -1,12 +1,11 @@
{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses, nixosTests
, libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
, libaio, libevent, jemalloc450, jemalloc, cracklib, systemd, perl
, libiconv, openssl, pcre2, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
, libaio, libevent, jemalloc, cracklib, systemd, perl
, bzip2, lz4, lzo, snappy, xz, zlib, zstd
, fixDarwinDylibNames, cctools, CoreServices, less
, numactl # NUMA Support
, withStorageMroonga ? true, kytea, msgpack, zeromq
, withStorageRocks ? true
, withStorageToku ? true
}:
with stdenv.lib;
@ -23,14 +22,14 @@ mariadb = server // {
};
common = rec { # attributes common to both builds
version = "10.4.15";
version = "10.5.8";
src = fetchurl {
urls = [
"https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz"
"https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz"
];
sha256 = "0cdfzr768cb7n9ag9gqahr8c6igfn513md67xn4rf98ajmnxg0r7";
sha256 = "1s3vfm73911cddjhgpcbkya6nz7ag2zygg56qqzwscn5ybv28j7b";
name = "mariadb-${version}.tar.gz";
};
@ -38,11 +37,10 @@ common = rec { # attributes common to both builds
++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
buildInputs = [
ncurses openssl zlib pcre libiconv curl
ncurses openssl zlib pcre2 libiconv curl
] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ]
++ optionals stdenv.hostPlatform.isDarwin [ perl cctools CoreServices ]
++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [ jemalloc450 ]
++ optional (!stdenv.hostPlatform.isDarwin && !withStorageToku) [ jemalloc ];
++ optional (!stdenv.hostPlatform.isDarwin) [ jemalloc ];
prePatch = ''
sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
@ -174,6 +172,7 @@ server = stdenv.mkDerivation (common // {
"-DWITH_INNODB_DISALLOW_WRITES=ON"
"-DWITHOUT_EXAMPLE=1"
"-DWITHOUT_FEDERATED=1"
"-DWITHOUT_TOKUDB=1"
] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [
"-DWITH_NUMA=ON"
] ++ optional (!withStorageMroonga) [
@ -182,13 +181,12 @@ server = stdenv.mkDerivation (common // {
"-DWITHOUT_ROCKSDB=1"
] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [
"-DWITH_ROCKSDB_JEMALLOC=ON"
] ++ optional (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isMusl || !withStorageToku) [
"-DWITHOUT_TOKUDB=1"
] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [
"-DWITH_JEMALLOC=static"
] ++ optional stdenv.hostPlatform.isDarwin [
] ++ optional (!stdenv.hostPlatform.isDarwin) [
"-DWITH_JEMALLOC=yes"
] ++ optionals stdenv.hostPlatform.isDarwin [
"-DPLUGIN_AUTH_PAM=OFF"
"-DWITHOUT_OQGRAPH=1"
"-DWITHOUT_PLUGIN_S3=1"
];
preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''
@ -198,7 +196,6 @@ server = stdenv.mkDerivation (common // {
postInstall = common.postInstall + ''
chmod +x "$out"/bin/wsrep_sst_common
rm "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest}
rm -r "$out"/data # Don't need testing data
'' + optionalString withStorageMroonga ''
mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
'' + optionalString (!stdenv.hostPlatform.isDarwin) ''

View file

@ -17787,9 +17787,6 @@ in
};
mariadb = callPackage ../servers/sql/mariadb {
# As per mariadb's cmake, "static jemalloc_pic.a can only be used up to jemalloc 4".
# https://jira.mariadb.org/browse/MDEV-15034
jemalloc450 = jemalloc450.override ({ disableInitExecTls = true; });
inherit (darwin) cctools;
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
};