Merge pull request #91944 from Izorkin/mariadb-update
mariadb: 10.4.15 -> 10.5.8
This commit is contained in:
commit
1cf298791b
@ -256,6 +256,22 @@
|
|||||||
which is the new stable release. OpenAFS 1.6 was removed.
|
which is the new stable release. OpenAFS 1.6 was removed.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</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>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The <literal>openldap</literal> module now has support for OLC-style
|
The <literal>openldap</literal> module now has support for OLC-style
|
||||||
|
@ -98,7 +98,7 @@ import ./../make-test-python.nix ({ pkgs, ...} : {
|
|||||||
}];
|
}];
|
||||||
services.mysql.settings = {
|
services.mysql.settings = {
|
||||||
mysqld = {
|
mysqld = {
|
||||||
plugin-load-add = [ "ha_tokudb.so" "ha_rocksdb.so" ];
|
plugin-load-add = [ "ha_rocksdb.so" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.mysql.package = pkgs.mariadb;
|
services.mysql.package = pkgs.mariadb;
|
||||||
@ -185,19 +185,5 @@ import ./../make-test-python.nix ({ pkgs, ...} : {
|
|||||||
mariadb.succeed(
|
mariadb.succeed(
|
||||||
"echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser"
|
"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"
|
|
||||||
)
|
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses, nixosTests
|
{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses, nixosTests
|
||||||
, libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
|
, libiconv, openssl, pcre2, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
|
||||||
, libaio, libevent, jemalloc450, jemalloc, cracklib, systemd, perl
|
, libaio, libevent, jemalloc, cracklib, systemd, perl
|
||||||
, bzip2, lz4, lzo, snappy, xz, zlib, zstd
|
, bzip2, lz4, lzo, snappy, xz, zlib, zstd
|
||||||
, fixDarwinDylibNames, cctools, CoreServices, less
|
, fixDarwinDylibNames, cctools, CoreServices, less
|
||||||
, numactl # NUMA Support
|
, numactl # NUMA Support
|
||||||
, withStorageMroonga ? true, kytea, msgpack, zeromq
|
, withStorageMroonga ? true, kytea, msgpack, zeromq
|
||||||
, withStorageRocks ? true
|
, withStorageRocks ? true
|
||||||
, withStorageToku ? true
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
@ -23,14 +22,14 @@ mariadb = server // {
|
|||||||
};
|
};
|
||||||
|
|
||||||
common = rec { # attributes common to both builds
|
common = rec { # attributes common to both builds
|
||||||
version = "10.4.15";
|
version = "10.5.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls = [
|
urls = [
|
||||||
"https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz"
|
"https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz"
|
||||||
"https://downloads.mariadb.com/MariaDB/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";
|
name = "mariadb-${version}.tar.gz";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -38,11 +37,10 @@ common = rec { # attributes common to both builds
|
|||||||
++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
ncurses openssl zlib pcre libiconv curl
|
ncurses openssl zlib pcre2 libiconv curl
|
||||||
] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ]
|
] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ]
|
||||||
++ optionals stdenv.hostPlatform.isDarwin [ perl cctools CoreServices ]
|
++ optionals stdenv.hostPlatform.isDarwin [ perl cctools CoreServices ]
|
||||||
++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [ jemalloc450 ]
|
++ optional (!stdenv.hostPlatform.isDarwin) [ jemalloc ];
|
||||||
++ optional (!stdenv.hostPlatform.isDarwin && !withStorageToku) [ jemalloc ];
|
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
|
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"
|
"-DWITH_INNODB_DISALLOW_WRITES=ON"
|
||||||
"-DWITHOUT_EXAMPLE=1"
|
"-DWITHOUT_EXAMPLE=1"
|
||||||
"-DWITHOUT_FEDERATED=1"
|
"-DWITHOUT_FEDERATED=1"
|
||||||
|
"-DWITHOUT_TOKUDB=1"
|
||||||
] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [
|
] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [
|
||||||
"-DWITH_NUMA=ON"
|
"-DWITH_NUMA=ON"
|
||||||
] ++ optional (!withStorageMroonga) [
|
] ++ optional (!withStorageMroonga) [
|
||||||
@ -182,13 +181,12 @@ server = stdenv.mkDerivation (common // {
|
|||||||
"-DWITHOUT_ROCKSDB=1"
|
"-DWITHOUT_ROCKSDB=1"
|
||||||
] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [
|
] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [
|
||||||
"-DWITH_ROCKSDB_JEMALLOC=ON"
|
"-DWITH_ROCKSDB_JEMALLOC=ON"
|
||||||
] ++ optional (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isMusl || !withStorageToku) [
|
] ++ optional (!stdenv.hostPlatform.isDarwin) [
|
||||||
"-DWITHOUT_TOKUDB=1"
|
"-DWITH_JEMALLOC=yes"
|
||||||
] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [
|
] ++ optionals stdenv.hostPlatform.isDarwin [
|
||||||
"-DWITH_JEMALLOC=static"
|
|
||||||
] ++ optional stdenv.hostPlatform.isDarwin [
|
|
||||||
"-DPLUGIN_AUTH_PAM=OFF"
|
"-DPLUGIN_AUTH_PAM=OFF"
|
||||||
"-DWITHOUT_OQGRAPH=1"
|
"-DWITHOUT_OQGRAPH=1"
|
||||||
|
"-DWITHOUT_PLUGIN_S3=1"
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''
|
preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||||
@ -198,7 +196,6 @@ server = stdenv.mkDerivation (common // {
|
|||||||
postInstall = common.postInstall + ''
|
postInstall = common.postInstall + ''
|
||||||
chmod +x "$out"/bin/wsrep_sst_common
|
chmod +x "$out"/bin/wsrep_sst_common
|
||||||
rm "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest}
|
rm "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest}
|
||||||
rm -r "$out"/data # Don't need testing data
|
|
||||||
'' + optionalString withStorageMroonga ''
|
'' + optionalString withStorageMroonga ''
|
||||||
mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
|
mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
|
||||||
'' + optionalString (!stdenv.hostPlatform.isDarwin) ''
|
'' + optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||||
|
@ -17787,9 +17787,6 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
mariadb = callPackage ../servers/sql/mariadb {
|
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 (darwin) cctools;
|
||||||
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
|
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user