您的位置:首页 > 数据库 > MySQL

mysql主从配置学习笔记

2013-10-10 16:31 260 查看
测试环境:windowx xp

主服务器

版本:5.1.33-community-log

地址:127.0.0.1,localhost

端口:3306

从服务器:

版本:5.5.34-log

地址:127.0.0.1,localhost

端口:3307

(1)主服务器上创建一个用于主从同步的用户repl:

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1' IDENTIFIED BY '123456';

(2)修改主服务器的mysql配置文件,修改之后重启mysql:

主服务器配置文件my.ini:

[mysqld]

server-id = 1

log-bin = mysql-bin

log_bin_index = mysql-bin.index

binlog-do-db = discuz

binlog-ignore-db = information_schema

binlog-ignore-db = mysql

(3)查询主服务器的二进制日志名和偏移量

主服务器上执行命令:SHOW MASTER STATUS;

记录下File: mysql-bin.000001

Position:106

(4)停止主服务的更新操作,复制data目录下的discuz到从服务的data目录。

1. 锁表:FLUSH TABLES WITH READ LOCK;

2. 数据复制到从服务器data目录下。

3. 解锁:UNLOCK TABLES;

(5)修改从服务器的配置文件my.ini,修改之后重启mysql服务。

从服务器配置文件my.ini:

server-id = 2

log-bin = mysql-bin

log_bin_index = mysql-bin.index

relay_log = mysql-relay-bin

relay_log_index = mysql-relay-bin.index

read_only = 1

skip_slave_start = 1

log_slave_updates = 1

replicate-do-db = discuz

replicate-ignore-db = information_schema

replicate-ignore-db = mysql

(6)从服务器的版本不支持配置文件中设置master_host ,需要在从服务器执行以下命令:

SLAVE STOP;

CHANGE MASTER TO

MASTER_HOST = '127.0.0.1',

MASTER_USER = 'repl',

MASTER_PASSWORD = '123456',

MASTER_PORT = 3306,

MASTER_LOG_FILE = 'mysql-bin.000001',

MASTER_LOG_POS = 106,

MASTER_CONNECT_RETRY = 3;

SLAVE START;

SHOW SLAVE STATUS;

可以看到Slave_IO_State:Connecting to master

再次执行命令:SHOW SLAVE STATUS;

可以看到Slave_IO_State:Waiting for master to send event

这样就好了,在主服务器上做一些更新数据,修改表操作,可以看到从服务器也更新了。

如果有错误:last_io_error有错误信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: