MySQL: невозможно создать кластер. Ошибка: сервер не настроен должным образом как активный участник группы. - PullRequest
0 голосов
/ 25 сентября 2018

Я хочу создать кластер MySQL (InnoDB), поэтому я создаю три экземпляра AWS EC2 (CentOS 7).
Когда я запускаю var cluster = dba.createCluster('testCluster');
, у меня появляется ошибка ниже:

A new InnoDB cluster will be created on instance 'demo@ec2-52-196-251-99.ap-northeast-1.compute.amazonaws.com:3306'.

Validating instance at ec2-52-196-251-99.ap-northeast-1.compute.amazonaws.com:3306...

This instance reports its own address as ip-172-31-29-118.ap-northeast-1.compute.internal

Instance configuration is suitable.
Creating InnoDB cluster 'testCluster' on 'demo@ec2-52-196-251-99.ap-northeast-1.compute.amazonaws.com:3306'...
Dba.createCluster: ERROR: Error starting cluster: 'ec2-52-196-251-99.ap-northeast-1.compute.amazonaws.com:3306' - Query failed. MySQL Error (3092): ClassicSession.query: The server is not configured properly to be an active member of the group. Please see more details on error log.. Query: START group_replication: MySQL Error (3092): ClassicSession.query: The server is not configured properly to be an active member of the group. Please see more details on error log. (RuntimeError)

Я не знаю, в какой части я ошибся.Как я мог это исправить?Надеюсь, что кто-то может мне помочь.

Вот мои шаги:

  1. Установить MySQL, MySQL оболочки, MySQL маршрутизатор
  2. sed -i --follow-symlinks 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
  3. systemctl stop firewalld & systemctl disable firewalld
  4. service mysqld start
  5. grep 'temporary password' /var/log/mysqld.log
  6. mysql -u root -p
  7. ALTER USER root@'localhost' IDENTIFIED BY 'rootpassword';
    SET sql_log_bin = 0;
    SET @@persist_only.enforce_gtid_consistency='ON';
    CREATE USER 'root'@'%' IDENTIFIED BY 'rootpassword';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    CREATE USER 'demo'@'%' IDENTIFIED BY 'demopassword';
    GRANT ALL PRIVILEGES ON mysql_innodb_cluster_metadata.* TO 'demo'@'%' WITH GRANT OPTION;
    GRANT RELOAD, SHUTDOWN, PROCESS, FILE, SUPER, REPLICATION SLAVE, REPLICATION CLIENT, CREATE USER ON *.* TO 'demo'@'%' WITH GRANT OPTION;
    GRANT SELECT, DELETE, INSERT, UPDATE, SYSTEM_VARIABLES_ADMIN, PERSIST_RO_VARIABLES_ADMIN ON *.* TO 'demo'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  8. mysqlsh --log-level=DEBUG3
    dba.verbose=2
  9. dba.checkInstanceConfiguration('demo@ec2:3306');
  10. dba.configureInstance('demo@ec2:3306');
  11. \c demo@ec2:3306
  12. var cluster = dba.createCluster('testCluster');

Вот мой лог

enter image description here

1 Ответ

0 голосов
/ 27 сентября 2018

Какую версию MySQL Server вы используете?Сообщение об ошибке говорит вам, чтобы проверить журнал ошибок.Вы проверяли error.log?Что находится в error.log?

Эта информация

Проверка экземпляра на ec2-52-196-251-99.ap-northeast-1.compute.amazonaws.com:3306...

Этот экземпляр сообщает свой собственный адрес как ip-172-31-29-118.ap-northeast-1.compute.internal

, показывающий, что ваш экземпляр узла иreport_host отличаются.

Попробуйте установить report_host в конфигурации MySQL Server на внешне видимый хост (https://dev.mysql.com/doc/refman/8.0/en/replication-options-slave.html#option_mysqld_report-host),, т. Е. На ec2-52-196-251-99.ap-northeast-1.compute.amazonaws.com или 52.196.251.99.

...