天天看点

mysql5.5主从数据库配置(附官方文档原文链接)

看英文官方文档效率慢,但是实在啊,下文我只是给我自己留着的,推荐去看官方的吧。

17.1.1 How to Set Up Replication (设置主从备份,建议耐下心浏览一下这一章官方文档,不是我写的,可以更加理解其中的意思)

17.1.1.1 Setting the Replication Master Configuration(设置master配置)

17.1.1.2 Setting the Replication Slave Configuration(设置slave配置)

17.1.1.3 Creating a User for Replication(创建备份账户)

17.1.1.4 Obtaining the Replication Master Binary Log Coordinates(master二进制文件定位)

17.1.1.5 Creating a Data Snapshot Using mysqldump(使用mysqldump获取master数据备份)

17.1.1.6 Creating a Data Snapshot Using Raw Data Files(原始数据文件备份)

17.1.1.7 Setting Up Replication with New Master and Slaves(直接使用全新的数据库实现主从配置)

17.1.1.8 Setting Up Replication with Existing Data(完整流程)

17.1.1.9 Introducing Additional Slaves to an Existing Replication Environment(添加新的slave到已有的主从环境中)

17.1.1.10 Setting the Master Configuration on the Slave(在slave中设置master的配置)

官方文档中写明了以下方式的备份

1、新建的sql服务的master,slave备份

2、已有数据的sql服务的master,slave备份

3、已有slave备份的slave备份

下面就是按照文档的流程进行配置了

1、master服务中( 

my.cnf

 or 

my.ini

):

[mysqld]
#logbin文件名称
log-bin=mysql-bin
#在整个master,slave环境中的唯一的编号,不可为0
server-id=1
           

重启

2、slave服务中( 

my.cnf

 or 

my.ini

):

[mysqld]
server-id=2
           

重启

3、在master中添加具有

REPLICATION SLAVE权限的账户(有的话就不用了)

CREATE USER 'username'@'可以访问的host,都可以的话是百分号(%)' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'username'@'host';
           

4、在master中查看binlog文件和position以备后用

mysql5.5主从数据库配置(附官方文档原文链接)

5、在slave中添加master中新加的账户和binlog文件与position

CHANGE MASTER TO MASTER_HOST='master_host_name', MASTER_USER='username', MASTER_PASSWORD='password',  MASTER_LOG_FILE='你查到的文件名',  MASTER_LOG_POS=查到的position;
           

6、在slave中

START SLAVE;
           

上述1-6步骤中没有提到把有的master中的数据复制到slave中,因为我的slave是复制的master的。

不然的话你后面主从备份的时候会出各种错误,如下面的图(slave中查到的,slave中没有相关表,),错误内容可以在slave的data文件夹中的.err文件中找到解释,和后面的问题解决后的重启(START SLAVE;)

mysql5.5主从数据库配置(附官方文档原文链接)

ok。

主从完成后的图(在slave中输入):

mysql5.5主从数据库配置(附官方文档原文链接)
上一篇: cout 未定义
下一篇: isinf未定义

继续阅读