记一次恢复mysql后启动报libjemalloc.so.1: cannot open shared object file错误问题

一.问题背景与描述
开发人员在生产环境mysql中不小心误更新操作,一个表的数据有两万多条记录被错误update了,由于误更新的记录数比较多,直接用sed命令去处理binlog产生undo sql再执行恢复数据的办法可能较复杂,如是与开发人员确认在一个测试环境中来恢复数据库到2016年10月21日19点40分,测试环境中已有的mysql版本为mariadb 10.0,而生产库中为mariadb 10.1.11,从生产环境tar包一份解包到测试环境,通过以下步骤来恢复数据库到特定时间点:
解压备份:
innobackupex --decompress /apps/backup/backup_3306_102001/xtrabackup/xtrabackup_20161020010001
全量恢复:
innobackupex --apply-log /apps/backup/backup_3306_102001/xtrabackup/xtrabackup_20161020010001
innobackupex --defaults-file=/apps/dbdat/my3306.cnf  --copy-back /apps/backup/backup_10.16.30.101_3306_102001/xtrabackup/xtrabackup_20161020010001
然后启动mysql,无法启动,error log报如下错误:
161020 21:42:07 mysqld_safe mysqld from pid file /apps/dbdat/mariadb10_data3306/mysql.pid ended
161020 21:49:42 mysqld_safe Starting mysqld daemon with databases from /apps/dbdat/mariadb10_data3306
/apps/svr/mariadb10/bin/mysqld: error while loading shared libraries: libjemalloc.so.1: cannot open shared object file: No such file or directory
161020 21:49:42 mysqld_safe mysqld from pid file /apps/dbdat/mariadb10_data3306/mysql.pid ended
161020 22:12:03 mysqld_safe Starting mysqld daemon with databases from /apps/dbdat/mariadb10_data3306
/apps/svr/mariadb10/bin/mysqld: error while loading shared libraries: libjemalloc.so.1: cannot open shared object file: No such file or directory
161020 22:12:03 mysqld_safe mysqld from pid file /apps/dbdat/mariadb10_data3306/mysql.pid ended
[apps@mvxl0783 dbdat]$

二.问题分析与解决
mariadb10.0启动正常,而mariabd10.1.11启动报错:libjemalloc.so.1: cannot open shared object file,说明10.1版本开始需要更多的组件支持,缺少jemalloc包,安装如下:
yum -y install jemalloc
安装完后,再启动mysql正常。

三.后续恢复
完成全量恢复,启动mysql后,再执行增量恢复:
time /apps/svr/mariadb10/bin/mysqlbinlog mysql-bin.000015 --start-datetime='2016-10-20 01:00:38' --stop-datetime='2016-10-20 19:40:00'
|/apps/svr/mariadb10/bin/mysql -u root -psafe2016 --socket=/tmp/mysql3306.sock
恢复完成后,请开发人员检查数据,经确认,有恢复回来,后面的事情是由开发人员将测试环境中恢复的数据与生产环境作比对,并update回生产环境。
查看binlog:
 /apps/svr/mariadb10/bin/mysqlbinlog -vv --base64-output=DECODE-ROWS  mysql-bin.000015 --start-datetime='2016-10-20 19:00:00'|more

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页