mysql的主从方式配置

mysql的主从方式配置

mysql的主从模式配置

1、改主库配置文件:

[mysqld]

log-bin=mysql-bin

server-id=1

2、授权,导数据:

grant replication slave on *.* TO ‘replication’@’192.168.234.123’ identified by ‘replication’;

mysqldump –master-data=2 –single-transaction -uroot -p –all-databases >dumpfile

//记下导出瞬间的日志文件和偏移(–master-data=2)

主库:

FLUSH TABLES WITH READ LOCK;–先把主库设置成只读,然后导出SQL或者直接复制数据文件

SHOW MASTER STATUS; –记下日志文件和偏移

UNLOCK TABLES;  –恢复主库写入

mysql> SHOW MASTER STATUS;

+——————+———-+————–+——————+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+——————+———-+————–+——————+

| mysql-bin.000001 |      250 |              |                  |

+——————+———-+————–+——————+

1 row in set (0.00 sec)

3、备库:

复制主库的/etc/my.cnf和dumpfile。

把主库配置里的 server-id 改成2(或者3、4,多个备库保存互不相同),再加上

relay-log=slave-relay.log

relay-log-index=slave-relay-log.index

导入数据: mysql <dumpfile

SLAVE STOP;

CHANGE MASTER TO

MASTER_HOST=’192.168.234.124′,

MASTER_PORT=3306,

MASTER_USER=’replication’,

MASTER_PASSWORD=’replication’,

MASTER_LOG_FILE=’mysql-bin.000003′,

MASTER_LOG_POS=321;

SLAVE START;

SHOW PROCESSLIST;

查看同步的状态,如果此命令的输出里有两个“system user”的进程,并且Command都是“Connect”就差不多OK。

mysql> SHOW PROCESSLIST;

+—-+————-+———–+——+———+——+———————————–+——————+

| Id | User        | Host      | db   | Command | Time | State                                                                 | Info             |

+—-+————-+———–+——+———+——+———————————–+——————+

|  5 | root        | localhost | test | Query   |    0 | NULL                                                                  | SHOW PROCESSLIST |

|  6 | system user |           | NULL | Connect |  226 | Waiting for master to send event                                      | NULL             |

|  7 | system user |           | NULL | Connect |   99 | Has read all relay log; waiting for the slave I/O thread to update it | NULL             |

+—-+————-+———–+——+———+——+———————————–+——————+

mysql的主从方式配置

相关文章:

你感兴趣的文章:

标签云: