mysql怎么搭建集群 mysql集群部署方式

mysql集群的几种方案

Asynchronous Replication Automatic failover

创新互联是一家专注网站建设、网络营销策划、微信平台小程序开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立10多年以来,已经为上千三轮搅拌车各业的企业公司提供互联网服务。现在,服务的上千客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。

其原理是在一条异步复制通道上配置多个可用复制源,当某个复制源不可用时(宕机、复制链路中断),且 slave 的 IO 线程尝试重连无效,自动根据权重选择新的源继续同步。

准备一个 MGR 集群和单实例,模拟复制链路切换,当 primary 故障,slave 自动切换到其他节点。dbdeployer deploy replication --topology=group 8.0.22 --single-primarydbdeployer deploy single 8.0.22

2. 在从机上建立指向 MGR 主节点的复制通道,

change master to master_user='msandbox',master_password='msandbox', master_host='127.0.0.1',master_auto_position=1,source_connection_auto_failover=1,master_port=23223,master_retry_count=6,master_connect_retry=10 for channel 'mgr-single';

在 master_retry_count 和 master_connect_retry 的设置上要考虑尝试重连多久才切换复制源。

3. 在从机上配置 asynchronous connection auto failover

配置 asynchronous connection auto failover 的两个函数:

asynchronous_connection_failover_add_source(channel-name,host,port,network-namespace,weight)

asynchronous_connection_failover_delete_source(channel-name,host,port,network-namespace)

权重值大的被优先级选择,可以配合MGR的选举权重配置 asynchronous_connection_failover 的权重。当 MGR 节点切换,异步复制也能切换到新的主节点。

SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23223,null,100); SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23224,null,80); SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23225,null,50);start slave for channel 'mgr-single';

4. 检查异步复制通道是否启用 failover。

mysql SELECT CHANNEL_NAME, SOURCE_CONNECTION_AUTO_FAILOVER FROM performance_schema.replication_connection_configuration; +--------------+---------------------------------+| CHANNEL_NAME | SOURCE_CONNECTION_AUTO_FAILOVER |+--------------+---------------------------------+| mgr-single   |  1                              |+--------------+---------------------------------+1 row in set (0.01 sec

5. 把 MGR 的 primary 节点 kill 掉,这个从节点会在尝试几轮重连失败后自动切换到次权重的复制源,其日志中会输出切换信息。

注意:当主节点故障,一旦复制链路成功 failover 后,在新的复制链路没有故障时,如果原主节点恢复,是不会回切的。如果当前复制链路发生故障,会再次选择权重高的进行切换

如何配置MySQL集群在一台服务器

-+-+-+-+-+-+-+-+-+-+-+-

-+-+mysql的主从配置+-+-

-+-+-+-+-+-+-+-+-+-+-+-

#############################################################################

常用命令

1.安装一个mysqld服务

mysqld  install  

2.开启mysql服务        关闭mysql服务  

net start mysql      net stop mysql

2.开启一个 mysql 的 3307端口

命令行 进入解压目录\bin目录下

解压目录\bin mysql -uroot  -p  -P3307 -h127.0.0.1

-u 用户名

-p密码

-P端口

-h网址

#启动从库

Start slave

#停止从库

Stop slave

#############################################################################

开始

用一台电脑测试

先在本电脑上安装一个mysql(集成的也行)

解压文件

然后解压另一个mysql到电脑目录

》》》》》1.

在解压目录创建一个mysql.ini

把一下文档写进去配置一个端口号为3307

#mysqld

[mysqld]

port=3307

basedir=D:\mysqlsever         #D:\mysqlsever 改成你解压目录

datadir=D:\mysqlsever\data    #D:\mysqlsever 改成你解压目录

安装一个mysqld服务    mysqld  install

开启mysql服务         net start mysql

不能正常启动请查看配置

》》》》2.

#主库3306

在命令行或者

grant 权限 on 数据库对象 to 用户

GRANT all privileges REPLICATION SLAVE,RELOAD,SUPER ON *.*

TO mysql_backup1@'*'

IDENTIFIED BY '123456'with grant option;

flush privileges;

》》》3.

在主库运行   SHOW MASTER STATUS       //运行后查看File和Postion

如  File mysql-bin.000002   Postion 120

在从库运行  

CHANGE MASTER TO master_host = '127.0.0.1',

master_user = 'mysql_backup',

master_password = '123456',

master_log_file = 'mysql-bin.000001',#看上面的File  从库对照主库写

master_log_pos = 4791;#看上面的Postion    从库对照主库写

如果报错就停止就重新运行

#启动从库

Start slave

#停止从库

Stop slave

在从库运行  Show slave status

Slave_IO_Running

Slave_SQL_Running

两个字段全部是是Yes基本上就成功了

测试

在主库上建立一个表  在从库上刷新

############################################################################

如何构建mysql数据库集群

当提到大数据,高并发。大家都会想到分布式,集群。

那么两者都是用来处理大批量数据操作的,其工作原理是有很大区别的,分布式会缩短单个任务的执行时间来提升工作效率,而集群强调的是提高单位时间内执行操作数的增加来提高效率。

更简单的来说,分布式是将步骤分到每台电脑上,不考虑依赖关系。

集群方案是指几个任务同时在处理。


网站栏目:mysql怎么搭建集群 mysql集群部署方式
文章URL:http://scyanting.com/article/dosiied.html