1.误操作drop语句导致数据库数据被破坏,请写出恢复思想及实际大体步骤?
#所有数据的恢复都在于备份,如果没有备份,那就恢复不了.误操作后要恢复时需使用增量恢复的方法进行恢复,具体的步骤如下:
(1)查看备份与binlog文件
(2)刷新并备份binlog文件删除线格式
#mysqladmin -uroot -p123456 -S /data/mysql.sockflush-logs
(-S, --socket=name 指定soc**ket文件。)
(3)将binlog文件恢复成sql语句
#mysqlbinlog –no-defaults mysql-bin.000061 mysql-bin.000062 >bin.sql
(4)将其中误操作的语句删除(就是drop的动作)
(5)解压全备文件,恢复全备文件
#gzip -d mysql_backup_2016-10-12.sql.gz
#mysql -uroot -pmysql123 -S/data/3306/mysql.sock < mysql_backup_2016-10-12.sql
(如果有对表的操作,恢复数据时需要接表名)
(6)恢复误操作前的binlog文件记录的sql语句
#mysql -uroot -pmysql123 -S/data/3306/mysql.sock < bin.sql
(最后登陆数据库,查看数据是否恢复成功,如果有确定的误操作时间,就直接恢复这段时间的数据即可。)*
2.列举一个实际生产的例子,网站访问速度慢是因为数据库访问慢导致的
(1)情况描述:
#有一天同事反应,网站的访问速度慢.甚至出现打不开网页的情况.刷新等待好长时间又可以打开了
(2)解决措施
#登录数据库执行show full processlist(查看有哪些线程在运行),查看有很多相同的SQL查询且针对一张表,确定网站打不开就是