MySQL复制不工作主从
Posted
技术标签:
【中文标题】MySQL复制不工作主从【英文标题】:MySQL Replication is Not Working Master Slave 【发布时间】:2014-01-09 17:51:10 【问题描述】:我是 mysql 新手并尝试创建复制 这是Master上的my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
log-bin = /var/lib/mysql/logs/mysql-bin.log
binlog-do-db=fedorareptest1
server-id=1
----
从站上的 My.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
server-id=2
master-host=130.14.165.25
master-connect-retry=60
master-user=reptest
master-password=nopass!123
replicate-do-db=fedorareptest1
relay-log = /var/lib/mysql/logs/slave-relay.log
relay-log-index = /var/lib/mysql/logs/slave-relay-log.index
--------
注意:“replicate-do-db=fedorareptest1”中提到的数据库是master上的数据库。从站上的这个数据库名称是 fedoratest2。我应该在上面使用这个还是应该是master上的那个
当我做奴隶状态时:
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 130.14.165.25
Master_User: reptest
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 107
Relay_Log_File: slave-relay.000005
Relay_Log_Pos: 252
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: fedorareptest1
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 107
Relay_Log_Space: 549
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
1 row in set (0.00 sec)
--------------------------------------
当我在表上更新时,该行不会显示在从站上!
请帮忙,我是 MYSQL 的新手。
【问题讨论】:
请发布您用于更新的查询 【参考方案1】:您应该避免使用 *do-db 选项,因为它们可以cause problems
检查查询是否通过您的从站:
mysqlbinlog --short-form /path/to/relaylogfile | less
.. 或 ..
tcpdump -vv -A -i lo0 tcp port 3306 | tee dump.log
更新重读您的帖子后,我注意到了问题:您更改了数据库名称,但未使用 replicate-rewrite-db
【讨论】:
我运行了命令,结果如下 /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;分隔符 /*!*/; mysqlbinlog: 找不到文件 '以上是关于MySQL复制不工作主从的主要内容,如果未能解决你的问题,请参考以下文章