mysql表恢复报错binlog_mysqlbinlog 恢复报错ERROR at line 24826643: Unknown command '\'汗血宝马...
有兩個binlog日志文件mysql-bin.000001,mysql-bin.000002,大小都是1G左右。現在要在另外一個庫上做完全恢復。想到通常的恢復方法:
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
在恢復mysql-bin.000001的時候很順利,但在恢復mysql-bin.000002時,有一個報錯:
ERROR at line 24826643: Unknown command ‘\”‘
搜了一圈,大部分定位為binlog日志導出時的字符集與恢復到新庫時的字符集不一致。查看了老庫的character_set。
然后再次嘗試了幾次恢復
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
又或者像這樣先到處文件,再做恢復
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
還是有如題的報錯。然后想是不是可以找到報錯的position,然后跳過。但發現這報錯似乎不是發生在事物中,所以也不太好找position。
由于文件太大,打開文件找到錯誤行似乎也不太可能。
實在無力,求大神賜教!謝謝!
總結
以上是生活随笔為你收集整理的mysql表恢复报错binlog_mysqlbinlog 恢复报错ERROR at line 24826643: Unknown command '\'汗血宝马...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英语常见介词错误用法,你有犯过吗?
- 下一篇: 七段式svpwm和5段式的区别_SVPW