MySQL复制无法在主从模式下工作
我是MySQL新手,尝试创建复制 这是我的.cnfMySQL复制无法在主从模式下工作,mysql,replication,Mysql,Replication,我是MySQL新手,尝试创建复制 这是我的.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 ---- 关于奴隶的我的.cnf [mysqld] datadir=/var/lib/mysql socket=/var/l
[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
----
关于奴隶的我的.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”中提到的数据库是主机上的数据库。从属服务器上的此数据库名称为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新手。您应该尽量避免使用*do db选项 检查查询是否通过您的从属服务器:
mysqlbinlog --short-form /path/to/relaylogfile | less
。。或者
tcpdump -vv -A -i lo0 tcp port 3306 | tee dump.log
更新重新阅读您的帖子后,我注意到了一个问题:您更改了数据库名称,但未使用请发布您用于更新的查询我运行了命令,结果是/*!40019设置@@session.max\u insert\u delayed\u threads=0*/;/*!50003集合@OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;分隔符/*!*/;mysqlbinlog:未找到文件“/mysql/slave relay.log”(错误代码:2)分隔符;#结束日志文件回滚/*由mysqlbinlog添加/;/!50003套完井类型=@旧完井类型*/;(结束)您看到的关于错误代码2的错误是因为您需要将路径更改为指向中继日志的路径有多个日志,我指向了最新的日志。当我运行命令:/*!40019设置@@session.max\u insert\u delayed\u threads=0*/;/*!50003集合@OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;分隔符/*!*/;分隔符;#结束日志文件回滚/*由mysqlbinlog添加/;/!50003套完井类型=@旧完井类型*/;嗯,如果日志中没有任何更新,那么看起来很好。。。但是你不需要检查你的日志-这个问题在我的回答中的更新中已经说明-你已经更改了架构名称这解决了我的问题..所以数据库名称在主服务器和从服务器上应该是相同的..你能给我指一下显示使用innodb的主服务器-主服务器配置的文档吗。万分感谢,你救了我一天