世界超算排行榜:太湖之光!

IT教程学习网

网站建设

MYSQL分布式数据库中主从服务器的设置

文章来源:深腾网   作者:静岳   浏览量:
mysql分布式主从服务器

分布式数据库中主从服务器的首要操作

开启二进制日志记录:
在主服务器和从服务器上编辑my.in或my.cnf文件。在主服务器上,进行如下设置:
[mysqld]
Log-bin
Server-id=1
为主服务器分配唯一的ID:
第一个主服务器和从服务器都需要一个ID,因此必须在每一个从服务器的my.ini/my.cnf文件中添加类似行,而且保证ID号是唯一的。例如:第一个从服务器可以设置server-id=2;而下一个可以为server-id=3。
 

MYSQL数据库设置主服务器:

在主服务器上,必须为从服务器创建一个用来连接主服务器的用户。从服务器的这个特殊的权限级别称作复制从服务器。根据如何策划实现初始数据传输的不同,可以临时授予某些额外的权限。但是在系统设置成功并运行起来后,必须撤销额外的权限。
 
在大多数情况下,可以使用数据库快照来传输数据,这里我们以使用LOAD DATA FROM MASTER命令来传输数据,因此用户需要RELOAD、SUPER和SELECT这三个临时权限。
 
在主服务器上创建一个用户,设置好相应的密码。
Grant replication slave on *.* to ‘rep_slave’ @’%’ identified by password;
 
 

设置一个/多个从服务器:

设置一个/多个从服务器有两个选项。如果获得数据库的快照,可以在从服务器上安装。
接下来,在从服务器上运行如下所示查询:
Change master to
Master-host=’server’;
Master-user=’user’;
Master-password=’password’;
Master-log-file=’logfile’;
Master-log-pos=logpos;
Slave=slave;
斜体文字用实际的参数来替换;server是主服务器的名称,user和passwor来自主服务器运行的GRANT语句,logfile和logpos来自在主服务器上运行的SHOW MASTER STATUS语句的输出。运行load data from master;来从主服务器加载快照。
 
 

执行初始的数据传输

第一种方法:
这种方法要先进行上一步的设置从服务器,然后执行LOAD DATA FROM MASTER 语句,这种方法的问题是:在数据传输过程中,它将锁定主服务器上的表,而且这种传输需要一定的时间,因此我们并不建议使用这种方法(只有使用MyISAM表时,可以使用这个选项)。
第二种方法:
首先在获得快照时记录服务器在二进制日志中的位置。第一步清空表,flush tables with read lock;第二步用show master status;语句来查看位置,记录file和position的值;去除读锁定,unlock table;
 
然后利用
MYSQL数据库备份与恢复的方法获得数据库的一个快照。
 
如果所使用的是InnoDB表,最简单的方法是使用InnoDB Hot Backup工具,或者在去除表锁定之前,关闭MYSQL服务器,并且在重新启动服务器和去除表锁定之前,复制所希望复制的数据库的整个目录。

分享到:

  • Copyright © 2014-2026 深腾网 版权所有:静岳互联网咨询工作室
  • 冀ICP备16020878-1