I was doing a insert ignore into db1.Table (~140Gb) select * from db2.Table(~32Gb). The process took so long that I killed the query. Then did restart. On restart, mysqld starts first and does
recover process`.
My tables are fine, and the particular tables are not critical.
How do I stop the recovery process? its been running for 1.5 days now. Some error.log messages
How do I kill/flush page_cleaner or whatever it is that is doing recovery? I looked up what page_cleaner does but didn't quite understand. I don't have any standing issues with the way the server has been running so ideally I wouldn't like to change any settings.
Thanks for your help!
@Wilson Hauck The HDD is a traditional disk. Mysql version is 5.7.27-0ubuntu0.16.04.1
Show full processlist has no running queries
mysql> SHOW GLOBAL VARIABLES LIKE '%size%';
mysql> SHOW GLOBAL VARIABLES like '%capacity%' ;
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| innodb_io_capacity | 200 |
| innodb_io_capacity_max | 2000 |
+------------------------+-------+
2 rows in set (0.00 sec)
i can't find it in the current error.log but previously i had seen the size to be ~1045mb
results of top
**
edit;
** cleaned up the question for readability, with help from pastebin. Nice site.
Bit background of what i am doing;
It's not just lack of RAM, my processor is i3-3.7Ghz x2. I can't go for something better at this point.
I record financial market derivative data. My stream data recorded is approx raw 7Gb by end of day.
I write the data to blank tables and move the tables to another db at end of day, so i can have blank tables in the morning. I manage my queries by union
when I need to. My advantage is, my data is most relevant closer to current date. My algos can't wait for mysql queries, and needs to have info already there, so when I need historical data, eg. 30,60,90 avgs, etc, I have summary tables for that. When I need continuous data, which is usually within 3 days, I have separated data of 5 days.
My current setup works for me. My end of market day, my mysql
RAM consumption is about 6Gb if I haven't had to look at historical data much, which is ussually the case. Sometimes there is a lag, but it is later in the day and market has already taken a shape, sort of.
The problem is page_cleaner. It still hasn't finished.
Additional info requested;
SHOW FULL PROCESSLIST;
Since current it is market time, there is no point showing full processlist;
as it will have tones of long insert sqls.
complete MySQLTuner report: don't have MySQLTuner
I came across this answer looking for 'how to change innodb_log_file_size'. Will the suggested removal of /var/lib/mysql/ib_logfile
file work for me?
Update
The serevr crashed.
I hadn't heard back from you guys, I saw an update for mysql and installed it. I had booted, stop/started before and didn't think applying the update would hurt anything. I was actually hoping it would solve the problem.
Was up all night trying to fix it, to no avail. Whenever I tried to reinstall Mysql, the mysql-server would exit on error, but mysqld was working, the error.log would become 16-20gb. That itself will bring my machine down to a crawl. I think if i waited long enough, it may have been able to repair itself, but I couldn't wait any longer. My dev work is at a standstill.
Once I realized that the tables aren't going to magically reappear, I installed MariaDb, been meaning to try it for a while.
I wish there was a way to isolate such problems. One table brought the server down.
Thanks a ton for your time and help. I did learn alot.