diff --git a/CMakeLists.txt b/CMakeLists.txt index e425ccd61d2e7..3a416b39f7fc7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -566,7 +566,7 @@ INSTALL_DOCUMENTATION(README.md CREDITS COPYING THIRDPARTY COMPONENT Readme) IF(UNIX) INSTALL_DOCUMENTATION(Docs/INSTALL-BINARY COMPONENT Readme) IF(WITH_WSREP) - INSTALL_DOCUMENTATION(Docs/README-wsrep COMPONENT Readme) + INSTALL_DOCUMENTATION(Docs/README-wsrep COMPONENT Server_Galera) ENDIF() ENDIF() diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake index 55645b69d2d04..79e9db0f64dd2 100644 --- a/cmake/cpack_rpm.cmake +++ b/cmake/cpack_rpm.cmake @@ -14,6 +14,7 @@ SET(CPACK_COMPONENT_SERVER_GROUP "server") SET(CPACK_COMPONENT_INIFILES_GROUP "server") SET(CPACK_COMPONENT_SERVER_SCRIPTS_GROUP "server") SET(CPACK_COMPONENT_SUPPORTFILES_GROUP "server") +SET(CPACK_COMPONENT_SERVER_GALERA_GROUP "server-galera") SET(CPACK_COMPONENT_DEVELOPMENT_GROUP "devel") SET(CPACK_COMPONENT_DEVELOPMENTSYMLINKS_GROUP "devel") SET(CPACK_COMPONENT_MANPAGESDEVELOPMENT_GROUP "devel") @@ -28,10 +29,11 @@ SET(CPACK_COMPONENT_COMPAT_GROUP "compat") SET(CPACK_COMPONENT_BACKUP_GROUP "backup") SET(CPACK_COMPONENT_BACKUPSYMLINKS_GROUP "backup") -SET(CPACK_COMPONENTS_ALL Server IniFiles Server_Scripts SupportFiles - Development ManPagesDevelopment Readme Test Common - Client SharedLibraries ClientPlugins Backup - TestSymlinks BackupSymlinks DevelopmentSymlinks +SET(CPACK_COMPONENTS_ALL Server IniFiles Server_Scripts Server_Galera + SupportFiles Development ManPagesDevelopment + Readme Test Common Client SharedLibraries + ClientPlugins Backup TestSymlinks BackupSymlinks + DevelopmentSymlinks ) SET(CPACK_RPM_PACKAGE_NAME ${CPACK_PACKAGE_NAME}) @@ -95,6 +97,8 @@ SET(CPACK_RPM_devel_PACKAGE_SUMMARY "MariaDB database development files") SET(CPACK_RPM_devel_PACKAGE_DESCRIPTION "${CPACK_RPM_PACKAGE_DESCRIPTION}") SET(CPACK_RPM_server_PACKAGE_SUMMARY "MariaDB database server binaries") SET(CPACK_RPM_server_PACKAGE_DESCRIPTION "${CPACK_RPM_PACKAGE_DESCRIPTION}") +SET(CPACK_RPM_server-galera_PACKAGE_SUMMARY "MariaDB database server binaries and scripts for Galera 4") +SET(CPACK_RPM_server-galera_PACKAGE_DESCRIPTION "${CPACK_RPM_PACKAGE_DESCRIPTION}") SET(CPACK_RPM_test_PACKAGE_SUMMARY "MariaDB database regression test suite") SET(CPACK_RPM_test_PACKAGE_DESCRIPTION "${CPACK_RPM_PACKAGE_DESCRIPTION}") @@ -263,6 +267,13 @@ SETA(CPACK_RPM_server_PACKAGE_REQUIRES "MariaDB-common >= 10.6.1" "MariaDB-client >= 11.0.0") +IF(WITH_WSREP) + SETA(CPACK_RPM_server_galera_PACKAGE_REQUIRES + "galera-4" "rsync" "lsof" "grep" "gawk" "iproute" + "coreutils" "findutils" "tar") + SETA(CPACK_RPM_server_PACKAGE_RECOMMENDS "pv") +ENDIF() + SET(CPACK_RPM_server_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/server-prein.sh) SET(CPACK_RPM_server_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/server-preun.sh) SET(CPACK_RPM_server_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/server-postin.sh) diff --git a/debian/additions/mariadb.conf.d/60-galera.cnf b/debian/additions/mariadb.conf.d/60-galera.cnf index 8470d64fbc9a0..49f3e1dcbfc38 100644 --- a/debian/additions/mariadb.conf.d/60-galera.cnf +++ b/debian/additions/mariadb.conf.d/60-galera.cnf @@ -9,16 +9,18 @@ #wsrep_cluster_name = "MariaDB Galera Cluster" # Mandatory settings -#wsrep_provider = /usr/lib/galera/libgalera_smm.so +# per https://mariadb.com/docs/galera-cluster/readme/mariadb-galera-cluster-usage-guide#general-configuration +wsrep_provider = /usr/lib/galera/libgalera_smm.so #wsrep_cluster_address = gcomm:// -#binlog_format = ROW -#wsrep_on = ON -#default_storage_engine = InnoDB +binlog_format = ROW +wsrep_on = ON +binlog_format = row +innodb_autoinc_lock_mode = 2 # Allow server to accept connections on all interfaces. -#bind-address = 0.0.0.0 +bind-address = 0.0.0.0 # Performance related settings -#innodb_autoinc_lock_mode = 2 +# https://mariadb.com/docs/galera-cluster/galera-management/configuration/configuring-mariadb-galera-cluster#performance-related-options #innodb_flush_log_at_trx_commit = 0 -#wsrep_slave_threads = 1 +#wsrep_slave_threads = 4 diff --git a/debian/control b/debian/control index eb73631d68cc5..869ce8ffdd0da 100644 --- a/debian/control +++ b/debian/control @@ -972,6 +972,26 @@ Description: MySQL compatibility links to mariadb-server binaries/scripts. This package is also useful for users with strong background in MySQL maintenance, but wants to switch to MariaDB +Package: mariadb-server-galera +Architecture: any +Depends: galera-4 (>= 26.4), + gawk, + iproute2 [linux-any], + lsof [linux-any], + mariadb-server, + pv, + rsync, + socat, + ${misc:Depends}, + ${shlibs:Depends} +Conflicts: mariadb-server (<< 12.3) +Breaks: mariadb-server (<< 1:12.3) +Description: MariaDB scripts and configuration needed by Galera cluster + MariaDB Galera Cluster is a virtually synchronous multi-primary + cluster for MariaDB. + . + Galera Cluster needs this package + Package: mariadb-backup Architecture: any Breaks: diff --git a/debian/mariadb-client.install b/debian/mariadb-client.install index efc56b3301841..28d1c0dff2b66 100644 --- a/debian/mariadb-client.install +++ b/debian/mariadb-client.install @@ -2,7 +2,6 @@ debian/additions/innotop/innotop usr/bin/ debian/additions/mariadb-report usr/bin/ debian/additions/mariadb.conf.d/50-client.cnf etc/mysql/mariadb.conf.d debian/additions/mariadb.conf.d/50-mariadb-clients.cnf etc/mysql/mariadb.conf.d -debian/additions/mariadb.conf.d/60-galera.cnf etc/mysql/mariadb.conf.d usr/bin/mariadb-access usr/bin/mariadb-admin usr/bin/mariadb-binlog diff --git a/debian/mariadb-server-galera.install b/debian/mariadb-server-galera.install new file mode 100644 index 0000000000000..f8eb900c3e45c --- /dev/null +++ b/debian/mariadb-server-galera.install @@ -0,0 +1,19 @@ +debian/additions/mariadb.conf.d/60-galera.cnf etc/mysql/mariadb.conf.d +lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf +usr/bin/galera_new_cluster +usr/bin/galera_recovery +usr/bin/wsrep_sst_common +usr/bin/wsrep_sst_mariabackup +usr/bin/wsrep_sst_mysqldump +usr/bin/wsrep_sst_rsync +usr/bin/wsrep_sst_rsync_wan +usr/lib/mysql/plugin/wsrep_info.so +usr/share/man/man1/galera_new_cluster.1 +usr/share/man/man1/galera_recovery.1 +usr/share/man/man1/wsrep_sst_common.1 +usr/share/man/man1/wsrep_sst_mariabackup.1 +usr/share/man/man1/wsrep_sst_mysqldump.1 +usr/share/man/man1/wsrep_sst_rsync.1 +usr/share/man/man1/wsrep_sst_rsync_wan.1 +usr/share/mariadb/wsrep.cnf +usr/share/mariadb/wsrep_notify diff --git a/debian/mariadb-server.install b/debian/mariadb-server.install index e2563ca5b4519..c8ea635cef46b 100644 --- a/debian/mariadb-server.install +++ b/debian/mariadb-server.install @@ -11,7 +11,6 @@ lib/systemd/system/mariadb-extra@.socket lib/systemd/system/mariadb.service lib/systemd/system/mariadb@.service lib/systemd/system/mariadb@.socket -lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf lib/systemd/system/mysql.service lib/systemd/system/mysqld.service support-files/rpm/enable_encryption.preset etc/mysql/mariadb.conf.d/99-enable-encryption.cnf.preset @@ -20,8 +19,6 @@ usr/bin/aria_dump_log usr/bin/aria_ftdump usr/bin/aria_pack usr/bin/aria_read_log -usr/bin/galera_new_cluster -usr/bin/galera_recovery usr/bin/mariadb-service-convert usr/bin/mariadbd-multi usr/bin/mariadbd-safe @@ -30,11 +27,6 @@ usr/bin/myisam_ftdump usr/bin/myisamchk usr/bin/myisamlog usr/bin/myisampack -usr/bin/wsrep_sst_common -usr/bin/wsrep_sst_mariabackup -usr/bin/wsrep_sst_mysqldump -usr/bin/wsrep_sst_rsync -usr/bin/wsrep_sst_rsync_wan usr/lib/mysql/plugin/auth_ed25519.so usr/lib/mysql/plugin/auth_mysql_sha2.so usr/lib/mysql/plugin/auth_pam.so @@ -58,7 +50,6 @@ usr/lib/mysql/plugin/server_audit.so usr/lib/mysql/plugin/simple_password_check.so usr/lib/mysql/plugin/sql_errlog.so usr/lib/mysql/plugin/type_mysql_json.so -usr/lib/mysql/plugin/wsrep_info.so usr/lib/tmpfiles.d/mariadb.conf usr/share/doc/mariadb-server/mariadbd.sym.gz usr/share/man/man1/aria_chk.1 @@ -66,8 +57,6 @@ usr/share/man/man1/aria_dump_log.1 usr/share/man/man1/aria_ftdump.1 usr/share/man/man1/aria_pack.1 usr/share/man/man1/aria_read_log.1 -usr/share/man/man1/galera_new_cluster.1 -usr/share/man/man1/galera_recovery.1 usr/share/man/man1/mariadb-service-convert.1 usr/share/man/man1/mariadbd-multi.1 usr/share/man/man1/mariadbd-safe-helper.1 @@ -76,11 +65,5 @@ usr/share/man/man1/myisam_ftdump.1 usr/share/man/man1/myisamchk.1 usr/share/man/man1/myisamlog.1 usr/share/man/man1/myisampack.1 -usr/share/man/man1/wsrep_sst_common.1 -usr/share/man/man1/wsrep_sst_mariabackup.1 -usr/share/man/man1/wsrep_sst_mysqldump.1 -usr/share/man/man1/wsrep_sst_rsync.1 -usr/share/man/man1/wsrep_sst_rsync_wan.1 +usr/share/mariadb/errmsg-utf8.txt usr/share/mariadb/mini-benchmark -usr/share/mariadb/wsrep.cnf -usr/share/mariadb/wsrep_notify diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 4193abf323834..abd137c2fbb10 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -322,7 +322,7 @@ ELSE() wsrep_sst_common ) - INSTALL_LINK(wsrep_sst_rsync wsrep_sst_rsync_wan ${INSTALL_BINDIR} Server) + INSTALL_LINK(wsrep_sst_rsync wsrep_sst_rsync_wan ${INSTALL_BINDIR} Server_Galera) FOREACH(file ${WSREP_SOURCE}) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY) diff --git a/support-files/CMakeLists.txt b/support-files/CMakeLists.txt index a6bbe821f621e..bce0c1ac2ebd2 100644 --- a/support-files/CMakeLists.txt +++ b/support-files/CMakeLists.txt @@ -60,7 +60,7 @@ IF(WITH_WSREP AND NOT WITHOUT_SERVER) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/wsrep.cnf.sh ${CMAKE_CURRENT_BINARY_DIR}/wsrep.${ini_file_extension} @ONLY) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wsrep.${ini_file_extension} - DESTINATION ${inst_location} COMPONENT IniFiles) + DESTINATION ${inst_location} COMPONENT Server_Galera) ENDIF() IF(UNIX AND NOT WITHOUT_SERVER) @@ -150,7 +150,7 @@ IF(UNIX AND NOT WITHOUT_SERVER) IF(WITH_WSREP) INSTALL(FILES use_galera_new_cluster.conf - DESTINATION ${inst_location}/systemd COMPONENT SupportFiles) + DESTINATION ${inst_location}/systemd COMPONENT Server_Galera) ENDIF() INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.service