MySQL 创建集群
首先使用域名的方式登录数据库实例,使用 localhost 方式登录会提示权限问题!
使用 dba.createCluster(name)
命令可以创建集群并返回集群对象cluster,使用status()命令查看集群状态,可以看到已经有一台机器在集群中了。
使用 cluster.addInstance(instance)
命令添加更多数据库实例到集群中。这里参数使用域名方式,需要至少3个数据库实例才能确保容许一个实例故障。
到这里集群已经形成,但是这里的集群元数据没有持久化到配置文件中,重启实例后,将不会自动加入集群。需要连接并登陆每个数据库实例并在本机执行 dba.configureLocalInstance()
命令持久化配置信息。这样可以确保实例意外离开集群,重启实例后能够重新自动加入集群中。
持久化实例1的配置,同样的方式持久化实例2和实例3。注意持久化只读实例的配置会提示暂时禁用只读开关 super_read_only,请选择y执行。
可以查看实例的配置文件 my.cnf,已经自动加入了集群相关的配置,实例 1 的如下:
[mysqld]
# server configuration
datadir=/home/mysql/data/s1
basedir=/home/mysql/mysql-5.7/
report_host=ic-1
port=24801
socket=/home/mysql/data/s1/mysql.sock
log_slave_updates = ON
server_id = 1214009101
relay_log_info_repository = TABLE
master_info_repository = TABLE
transaction_write_set_extraction = XXHASH64
binlog_format = ROW
disabled_storage_engines = MyISAM,BLACKHOLE,FEDERATED,CSV,ARCHIVE
report_port = 24801
binlog_checksum = NONE
enforce_gtid_consistency = ON
log_bin
gtid_mode = ON
group_replication_allow_local_disjoint_gtids_join = OFF
group_replication_allow_local_lower_version_join = OFF
group_replication_auto_increment_increment = 7
group_replication_bootstrap_group = OFF
group_replication_components_stop_timeout = 31536000
group_replication_compression_threshold = 1000000
group_replication_enforce_update_everywhere_checks = OFF
group_replication_flow_control_applier_threshold = 25000
group_replication_flow_control_certifier_threshold = 25000
group_replication_flow_control_mode = QUOTA
group_replication_force_members
group_replication_group_name = 6d3c634e-01a7-11e8-9c80-000c296f3284
group_replication_group_seeds
group_replication_gtid_assignment_block_size = 1000000
group_replication_ip_whitelist = AUTOMATIC
group_replication_local_address = ic-1:34801
group_replication_member_weight = 50
group_replication_poll_spin_loops = 0
group_replication_recovery_complete_at = TRANSACTIONS_APPLIED
group_replication_recovery_reconnect_interval = 60
group_replication_recovery_retry_count = 10
group_replication_recovery_ssl_ca
group_replication_recovery_ssl_capath
group_replication_recovery_ssl_cert
group_replication_recovery_ssl_cipher
group_replication_recovery_ssl_crl
group_replication_recovery_ssl_crlpath
group_replication_recovery_ssl_key
group_replication_recovery_ssl_verify_server_cert = OFF
group_replication_recovery_use_ssl = OFF
group_replication_single_primary_mode = ON
group_replication_ssl_mode = DISABLED
group_replication_start_on_boot = ON
group_replication_transaction_size_limit = 0
group_replication_unreachable_majority_timeout = 0
auto_increment_increment = 1
auto_increment_offset = 2
集群结构变化后,务必连接到每个数据库实例持久化配置,比如新增了数据库节点等。好了,集群搭建 OK,下面介绍使用 mysqlRouter 实现高可用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论