LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1516|回复: 3

请教 关于MYSQL主从服务器同步的设置

[复制链接]
发表于 2006-8-12 16:27:06 | 显示全部楼层 |阅读模式
主  WINXP /172.16.0.108/V4.1.15
server-id=1
log-bin
binlog-do-db=backup
从  虚拟机/TSL 3.0/172.16.0.109/V4.1.15
server-id=2
master-host=172.16.0.108
master-user=backup
master-password=1234
master-port=3306
master-connect-retry=60
replicate-do-db=backup
已经按其它文章的在设置中加了上面的语句,但还是不行,在主服务器SHOW MASTER STATUS能显示出本机,但SHOW SLAVE STATUS就没东西.在从服务器上用SHOW MASTER/SLAVE STATUS都有显示,但在MASTER中FILE字段和主服务器的FILE字段不相同.
两个数据库同步不了.
发表于 2006-8-12 20:38:17 | 显示全部楼层
你在从服务器上是否运行了mysql>start slave
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-17 17:00:06 | 显示全部楼层
使用了START SLAVE也没用啊..还是同步不了
回复 支持 反对

使用道具 举报

发表于 2006-8-18 13:34:55 | 显示全部楼层
master的[mysqld]添加一下内容:
log-bin=mysql-bin
server-id=1

slave的[mysqld]添加一下内容:
server-id=2

在master上新加一个帐户,slave才能用它来连接。这个帐户必须授予 REPLICATION SLAVE 权限。如果这个帐户只用于同步(推荐这么做),那就没必要授予其他权限了。设定你的域是 mydomain.com,想要授权一个帐户 repl 使用密码 slavepass,允许它可以在域里的任何主机连接到master上。用 GRANT 语句来创建帐户:

mysql> GRANT REPLICATION SLAVE ON *.*
    -> TO 'repl'@'192.168.210.127' IDENTIFIED BY 'slavepass';

/usr/local/mysql/bin/mysql -u root

create database standby;

create table test_table
(col1 char(10));


在MASTER上执行 FLUSH TABLES WITH READ LOCK 语句刷新所有表并且阻止其他写入:

mysql> FLUSH TABLES WITH READ LOCK;
UNLOCK TABLES;
scp把standby目录的内容拷贝到slave上

show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |       98 |              |                  |
+------------------+----------+--------------+------------------+
在slave上执行如下语句,把各个选项的值替换成真实值:

mysql> CHANGE MASTER TO
    ->     MASTER_HOST='192.168.210.128',
    ->     MASTER_USER='repl',
    ->     MASTER_PASSWORD='slavepass',
    ->     MASTER_LOG_FILE='mysql-bin.000001',
    ->     MASTER_LOG_POS=98;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表