由于relay-bin文件,我们在slave上的磁盘空间不足,所以我停止了mysql服务器,删除了relay-bin文件。 改变my.cnf文件指向中继日志到另一个位置。 在从属状态,我注意到了'Relay_Master_Log_File'和'Exec_Master_Log_Position'。 我用他们来“改变主”。 它不起作用。 我得到的提示,它说无法打开在旧位置的接力logging。 Mysql如何依旧查看旧文件,以及如何更改它?
谢谢。
你最初应该通过发出RESET SLAVE删除日志。
不过,如果你:
Exec_Master_Log_Position的logging和相应的日志文件名。 发出STOP SLAVE和RESET SLAVE 。 这将删除从站的所有复制相关的信息,包括relay-log.info ,这很可能导致你看到的错误。
使用CHANGE MASTER ..来重新configuration从站的日志位置,主机,用户名等
然后用START SLAVE踢起来。
为了让它立即工作,你最好的select可能是:mysqldump –master-data –databases db_name> snapshot20091124.sql并将其转移到你的复制从服务器上。 你可以通过在mysql转储的前几行进行分页来仔细检查日志的位置。 发出“停止奴隶” ,执行导入“mysql -u root -p <snapshot20091124.sql”,然后发出“启动从站”。 复制是一个有时是不必要的复杂的野兽。
尝试重新启动您的从服务器清除caching。