MariaDB / MySQL galera 集群节点不会加入

bwi*_*zzy 5 mysql mariadb percona percona-xtradb-cluster

我正在设置一个 MariaDB Galera 集群,我可以\xe2\x80\x99t 似乎让节点相互加入。它们都启动时没有错误,但似乎从未加入,状态始终为断开连接:

\n\n
MariaDB [(none)]> show status like \'wsrep%\';\n+--------------------------+----------------------+\n| Variable_name            | Value                |\n+--------------------------+----------------------+\n| wsrep_cluster_conf_id    | 18446744073709551615 |\n| wsrep_cluster_size       | 0                    |\n| wsrep_cluster_state_uuid |                      |\n| wsrep_cluster_status     | Disconnected         |\n| wsrep_connected          | OFF                  |\n| wsrep_local_index        | 18446744073709551615 |\n| wsrep_provider_name      |                      |\n| wsrep_provider_vendor    |                      |\n| wsrep_provider_version   |                      |\n| wsrep_ready              | ON                   |\n+--------------------------+----------------------+\n
Run Code Online (Sandbox Code Playgroud)\n\n

第一个节点的启动方式为:“sudo service mysql start \xe2\x80\x94wsrep-new-cluster”(也尝试传入集群地址,就像 \xe2\x80\x94wsrep_cluster_address=gcomm://)以及将空my.cnf 中的地址列表

\n\n

第二个节点启动:“sudo service mysql start”,my.cnf 中的集群地址为 gcomm://172.16.56.130,172.16.56.131

\n\n

无论什么情况,集群状态始终为 \xe2\x80\x9cDisconnected\xe2\x80\x9d 并且集群大小为 0。

\n\n

我对 SST 使用 xtrabackup 进行了一些设置,打开了 iptables 防火墙等,但为了尝试找到问题,我关闭了所有内容并使用了最简单的配置,但结果仍然相同。

\n\n

这是 my.cnf

\n\n
# MariaDB database server configuration file.\n\n[client]\nport        = 3306\nsocket      = /var/run/mysqld/mysqld.sock\n\n\n[mysqld_safe]\nsocket      = /var/run/mysqld/mysqld.sock\nnice        = 0\n\n[mysqld]\n#\n# * Basic Settings\n#\nuser        = mysql\npid-file    = /var/run/mysqld/mysqld.pid\nsocket      = /var/run/mysqld/mysqld.sock\nport        = 3306\nbasedir     = /usr\ndatadir     = /var/lib/mysql\ntmpdir      = /tmp\nlc_messages_dir = /usr/share/mysql\nlc_messages = en_US\nskip-external-locking\nbind-address        = 0.0.0.0\n\n# * Fine Tuning\nmax_connections     = 100\nconnect_timeout     = 5\nwait_timeout        = 600\nmax_allowed_packet  = 16M\nthread_cache_size       = 128\nsort_buffer_size    = 4M\nbulk_insert_buffer_size = 16M\ntmp_table_size      = 32M\nmax_heap_table_size = 32M\n\n\n# * MyISAM\nmyisam_recover          = BACKUP\nkey_buffer_size     = 128M\ntable_open_cache    = 400\nmyisam_sort_buffer_size = 512M\nconcurrent_insert   = 2\nread_buffer_size    = 2M\nread_rnd_buffer_size    = 1M\n\n# * Query Cache Configuration\nquery_cache_limit       = 128K\nquery_cache_size        = 64M\nlog_warnings        = 2\nslow_query_log_file = /var/log/mysql/mariadb-slow.log\nlong_query_time = 10\nlog_slow_verbosity  = query_plan\nlog_bin         = /var/log/mysql/mariadb-bin\nlog_bin_index       = /var/log/mysql/mariadb-bin.index\nexpire_logs_days    = 10\nmax_binlog_size         = 100M\n\n# * InnoDB\ninnodb_buffer_pool_size = 1G\n#innodb_log_file_size = 100M\ninnodb_log_buffer_size  = 8M\ninnodb_file_per_table   = 1\ninnodb_open_files   = 400\ninnodb_io_capacity  = 400\ninnodb_flush_method = O_DIRECT\n\n\n[mysqldump]\nquick\nquote-names\nmax_allowed_packet  = 16M\n\n[mysql]\n\n[isamchk]\nkey_buffer      = 16M\n\n\n# MariaDB / Galera Cluster Settings\nwsrep_provider         = /usr/lib/galera/libgalera_smm.so\nwsrep_provider_options = "gcache.size=32G"\nwsrep_cluster_address  = "gcomm://172.16.56.130,172.16.56.131"\nwsrep_cluster_name     = \'my_galera_cluster\'\nwsrep_node_address     = \'172.16.56.131\'\nwsrep_node_name        = \'lou-dev-sc-db2\'\nwsrep_sst_method       = xtrabackup\nwsrep_sst_auth         = root:rootPa$$\nwsrep_slave_threads    = 16\n\nbinlog_format                  = ROW\ndefault_storage_engine         = InnoDB\ninnodb_autoinc_lock_mode       = 2\ninnodb_locks_unsafe_for_binlog = 1\ninnodb_flush_log_at_trx_commit = 2\n\n# * IMPORTANT: Additional settings that can override those from this file!\n#   The files must end with \'.cnf\', otherwise they\'ll be ignored.\n!includedir /etc/mysql/conf.d/\n
Run Code Online (Sandbox Code Playgroud)\n\n

我还意识到 xtrabackup 需要提供访问权限,因此我还从远程服务器为该用户创建了 GRANT 条目,并通过手动登录进行测试,仍然没有骰子。

\n\n

有任何想法吗?

\n

小智 4

从显示状态输出来看,您的服务器不会加载任何 wsrep 提供程序 (Galera),甚至可能不会尝试加载。据我了解 mysql 配置文件如何工作,我认为您需要将其放在[mysqld]MariaDB/Galera 设置之前(或将它们立即放在 InnoDB 设置之后)。否则它们似乎在该[isamcheck]部分中并且根本不被服务器解析。