MariaDB Galera Clustering - Активно Активно - Ошибка операции не разрешена

У меня проблемы с MariaDB и Galera, работающими на 64-битных серверах RHEL 6.4 и 6.2, и их перенос в кластер. Я установил необходимые RPM для кластеризации Galera:

  • MariaDB-Галера-сервер
  • MariaDB-клиент
  • MariaDB-Compat
  • MariaDB-общий
  • MariaDB-общий
  • MariaDB-тест
  • Галера

Затем, после установки MariaDB и всех его компонентов, я проверил каталоги, в которых он обычно хранит свои файлы, /var/lib/mysql/ а также /var/log/mysql/ и выполнил

chown -R mysql:mysql /var/lib/mysql/
chown -R mysql:mysql /var/log/mysql/

Я запустил оба сервера в автономном режиме и настроил пользователя репликации:

grant all privileges on *.* to 'mariadb-user'@'localhost' identified by 'password' with grant option;
grant all privileges on *.* to 'mariadb-user'@'%' identified by 'password' with grant option;

Таким образом, у меня был бы пользователь, с которым базы данных могли бы общаться. Затем я отредактировал свои конфиги на узлах Master и Slave:

#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]
general_log_file=/var/log/mysql/mysqld.log
general_log=1
log_warning=2
log-error=/var/log/mysql/error.log
#log-bin=/var/log/mysql-bin.log
log-slow-queries=/var/log/mysql-slow-queries.log
# this is only for the mysqld standalone daemon
[mysqld]

# this is only for embedded server
[embedded]

# This group is only read by MariaDB-5.5 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mysqld-5.5]

# These two groups are only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]
wsrep_cluster_address=gcomm://mariadb-master.net,mariadb-slave.net
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_locks_unsafe_for_binlog=1
wsrep_cluster_name=corp-zabbix-server
wsrep_debug=on
wsrep_sst_auth=mariadb-user:cerner
##wsrep_sst_auth=root:
wsrep_sst_method=mysqldump
##wsrep_sst_method=xtrabackup
[mariadb-5.5]

После того, как конфиги были на месте, я убедился, что брандмауэры пропускают трафик, в основном, просто стирая их iptables -F, Затем я инициализировал кластер на мастере, используя:

/etc/init.d/mysql start --wsrep_cluster_address=gcomm://

Процесс запускается на главном узле и на ведомом узле, используя:

service mysql start

Затем подчиненный узел немного подключается, обменивается состояниями и выходит, говоря, что операция не разрешена.

MariaDB_Error_Log на Pastebin.com

Это выход из /var/log/mysql/mysql.log:

/usr/sbin/mysqld, Version: 5.5.32-MariaDB-log (MariaDB Server, wsrep_23.7.5.rXXXX). started with:
Tcp port: 0  Unix socket: (null)
Time                 Id Command    Argument
/usr/sbin/mysqld, Version: 5.5.32-MariaDB-log (MariaDB Server, wsrep_23.7.5.rXXXX). started with:
Tcp port: 0  Unix socket: (null)
Time                 Id Command    Argument
130910  8:18:48     3 Connect   mariadb-user@mariadb-master.net as anonymous on
                    3 Query     select @@version_comment limit 1
                    3 Query     SET wsrep_on=OFF
                    3 Query     SELECT @@GENERAL_LOG
                    3 Quit
                    4 Connect   mariadb-user@mariadb-master.net as anonymous on
                    4 Query     select @@version_comment limit 1
                    4 Query     SET wsrep_on=OFF
                    4 Query     SELECT @@SLOW_QUERY_LOG
                    4 Quit
                    5 Connect   mariadb-user@mariadb-master.net as anonymous on
                    5 Query     select @@version_comment limit 1
                    5 Query     SET wsrep_on=OFF
                    5 Query     SET GLOBAL GENERAL_LOG=OFF
/usr/sbin/mysqld, Version: 5.5.32-MariaDB-log (MariaDB Server, wsrep_23.7.5.rXXXX). started with:
Tcp port: 3306  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
130910  8:18:50     7 Query     SET GLOBAL SLOW_QUERY_LOG=1
                    7 Quit
130910  8:18:51     8 Connect   mariadb-user@mariadb-master.net as anonymous on
                    8 Query     select @@version_comment limit 1
                    8 Query     SET wsrep_on=OFF
                    8 Query     SELECT @@GENERAL_LOG
                    8 Quit
                    9 Connect   mariadb-user@mariadb-master.net as anonymous on
                    9 Query     select @@version_comment limit 1
                    9 Query     SET wsrep_on=OFF
                    9 Query     SELECT @@SLOW_QUERY_LOG
                    9 Quit
                   10 Connect   mariadb-user@mariadb-master.net as anonymous on
                   10 Query     select @@version_comment limit 1
                   10 Query     SET wsrep_on=OFF
                   10 Query     SET GLOBAL GENERAL_LOG=OFF
/usr/sbin/mysqld, Version: 5.5.32-MariaDB-log (MariaDB Server, wsrep_23.7.5.rXXXX). started with:
Tcp port: 3306  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
130910  8:18:52    12 Query     SET GLOBAL SLOW_QUERY_LOG=1
                   12 Quit
130910  8:18:53    13 Connect   mariadb-user@mariadb-master.net as anonymous on
                   13 Query     select @@version_comment limit 1
                   13 Query     SET wsrep_on=OFF
                   13 Query     SELECT @@GENERAL_LOG
                   13 Quit
                   14 Connect   mariadb-user@mariadb-master.net as anonymous on
                   14 Query     select @@version_comment limit 1
                   14 Query     SET wsrep_on=OFF
                   14 Query     SELECT @@SLOW_QUERY_LOG
                   14 Quit
                   15 Connect   mariadb-user@mariadb-master.net as anonymous on
                   15 Query     select @@version_comment limit 1
                   15 Query     SET wsrep_on=OFF
                   15 Query     SET GLOBAL GENERAL_LOG=OFF
/usr/sbin/mysqld, Version: 5.5.32-MariaDB-log (MariaDB Server, wsrep_23.7.5.rXXXX). started with:
Tcp port: 3306  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
130910  8:18:55    17 Query     SET GLOBAL SLOW_QUERY_LOG=1
                   17 Quit

Я не уверен, что еще я должен сделать. Раньше этот кластер работал, но я вернулся к моментальному снимку сразу после того, как закончил базовую версию ОС. Так что, на мой взгляд, это должно было работать так же, но это не так. Должен ли я создать локального пользователя на самих полях с именем, совпадающим с пользователем базы данных?

1 ответ

Решение

Если вы посмотрите на сообщения об ошибках в ссылке pastebin, в строках 18 и 19, есть ссылка на это:

130906 12:47:32 [ERROR] mysqld: File '/var/log/mysql-slow-queries.log' not found (Errcode: 13)
130906 12:47:32 [ERROR] Could not use /var/log/mysql-slow-queries.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.

То, что я сделал, когда я сделал свой конфигурационный файл, я выдвинул строку:

log-slow-queries=/var/log/mysql-slow-queries.log

Однажды я отредактировал эту строку, чтобы отразить:

log-slow-queries=/var/log/mysql/mysql-slow-queries.log

Кластер волшебным образом работал. Я могу копировать базы данных, и теперь они работают. Я не совсем уверен, почему эта единственная строка помешала бы всему работать, но это помогло.

Другие вопросы по тегам