mysql表恢复报错binlog_mysqlbinlog 恢复报错ERROR at line 24826643: Unknown command '\'汗血宝马...
有兩個(gè)binlog日志文件mysql-bin.000001,mysql-bin.000002,大小都是1G左右。現(xiàn)在要在另外一個(gè)庫上做完全恢復(fù)。想到通常的恢復(fù)方法:
mysqlbinlog /usr/local/var/mysql1/mysql-bin.000001 | mysql -uroot -S /usr/local/var/mysql2/mysql2.sock
mysqlbinlog /usr/local/var/mysql1/mysql-bin.000002 | mysql -uroot -S /usr/local/var/mysql2/mysql2.sock
在恢復(fù)mysql-bin.000001的時(shí)候很順利,但在恢復(fù)mysql-bin.000002時(shí),有一個(gè)報(bào)錯(cuò):
ERROR at line 24826643: Unknown command ‘\”‘
搜了一圈,大部分定位為binlog日志導(dǎo)出時(shí)的字符集與恢復(fù)到新庫時(shí)的字符集不一致。查看了老庫的character_set。
然后再次嘗試了幾次恢復(fù)
mysqlbinlog --set-charset=latin1 /usr/local/var/mysql1/mysql-bin.000001 | mysql -uroot -S /usr/local/var/mysql2/mysql2.sock --default-character-set=latin1
mysqlbinlog --set-charset=utf8 /usr/local/var/mysql1/mysql-bin.000001 | mysql -uroot -S /usr/local/var/mysql2/mysql2.sock --default-character-set=utf8
mysqlbinlog /usr/local/var/mysql1/mysql-bin.000001 | mysql -uroot -S /usr/local/var/mysql2/mysql2.sock --default-character-set=utf8
mysqlbinlog /usr/local/var/mysql1/mysql-bin.000001 | mysql -uroot -S /usr/local/var/mysql2/mysql2.sock --default-character-set=latin1
又或者像這樣先到處文件,再做恢復(fù)
mysqlbinlog /usr/local/var/mysql1/mysql-bin.000001 > 1.log
mysql -uroot -S /usr/local/var/mysql2/mysql2.sock --default-character-set=latin1 < 1.log
還是有如題的報(bào)錯(cuò)。然后想是不是可以找到報(bào)錯(cuò)的position,然后跳過。但發(fā)現(xiàn)這報(bào)錯(cuò)似乎不是發(fā)生在事物中,所以也不太好找position。
由于文件太大,打開文件找到錯(cuò)誤行似乎也不太可能。
實(shí)在無力,求大神賜教!謝謝!
總結(jié)
以上是生活随笔為你收集整理的mysql表恢复报错binlog_mysqlbinlog 恢复报错ERROR at line 24826643: Unknown command '\'汗血宝马...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英语常见介词错误用法,你有犯过吗?
- 下一篇: sqlite mysql pgsql_比