我想创建一个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)
我不知道我错在哪一部分。我怎么能修好它?希望有人能帮我。
以下是我的步骤:
安装mysql,mysql shell,mysql路由器 sed -i --follow-symlinks 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
systemctl stop firewalld & systemctl disable firewalld service mysqld start
grep 'temporary password' /var/log/mysqld.log mysql -u root -p
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;
mysqlsh --log-level=DEBUG3 dba.verbose=2
dba.checkInstanceConfiguration('demo@ec2:3306'); dba.configureInstance('demo@ec2:3306');
\c demo@ec2:3306 var cluster = dba.createCluster('testCluster');
这是我的日志
1条答案
按热度按时间smtd7mpg1#
您使用什么版本的mysql服务器?错误消息告诉您检查错误日志。你查过了吗
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服务器配置中对外部可见的主机(https://dev.mysql.com/doc/refman/8.0/en/replication-options-slave.html#option_mysqld_report-主机),即ec2-52-196-251-99.ap-northeast-1.compute.amazonaws.com
或者52.196.251.99
.