|
Joined: Jun 2006
Posts: 693
Addict
|
Addict
Joined: Jun 2006
Posts: 693 |
Greetings - I need some help!
My forum server hard drive failed and crashed. My hosting company had to build me an entirely new server. So I am now up on Windows 2008 rather than 2003 which I used to be on.
I installed the exact same version of MySQL onto this, to be as safe as possible. So that's 5.5.15.
I have my ibdata1, ib_logfile0, and ib_logfile1 files.
The only way I can get MySQL to launch is to remove the two log files and have just the ibdata1 file in the data directory. If I do that, it'll grumble a bit but it'll make two new log files and launch.
However, when I then log in as root I can't see any of my databases or tables. All I see are three default databases - information_schema, mysql, and performance_schema. But the ibdata file is 641mb.
Any thoughts as to how I get to that data?
I had a separate username set up, but when I log in as root and ask it to select user from mysql.user it just shows me four rows - root, root, blank, and root.
Is it maybe not really connecting to that ibdata1 file? Any ideas?
|
|
|
|
Joined: Jun 2006
Posts: 693
Addict
|
Addict
Joined: Jun 2006
Posts: 693 |
I'll update that I have now gotten it to open with the two log files in place and it's updating the date on all three. So I know it's seeing them. But it still doesn't see data in them in the workbench tool.
|
|
|
|
Joined: Jun 2006
Posts: 693
Addict
|
Addict
Joined: Jun 2006
Posts: 693 |
I was able to have it open the trio by copying everything including the old my.ini from the initial configuration. No matter what I try, though, I can only see the 3 default tables.
On the usernames, those look fine. The three roots are because they're defined for different entry points - 127.0.0.1 and so on. But it's missing my customized username which should be in there too. It makes me wonder if it's not really looking at the proper data file at all ...?
|
|
|
|
Joined: Jun 2006
Posts: 693
Addict
|
Addict
Joined: Jun 2006
Posts: 693 |
I'm also curious why there are no .frm files here. I tried doing a completely fresh 5.5 install on my other Windows 2003 server and made some dummy INNODB tables. They do have matching .frm files. But on this old server's hard drive, there are only the three main INNODB files and none of those .frm files. I do see the .frm files in the old 5.1 directory, but I don't see any in the 5.5 after my upgrade. Could it still have been pointing to those old 5.1 .frm files somehow, while using the three main large files that were in the 5.5 directory?
|
|
|
|
Joined: Jun 2006
Posts: 16,301 Likes: 116
|
Joined: Jun 2006
Posts: 16,301 Likes: 116 |
I don't really know anything about operating on a windows machine but it looks like the database files themselves haven't been populated to the new machine...
In Linux one would simply move over the data from the /var/lib/mysql/ directory whereby each database has its own sub-directory and in this directory each table would have its own files with the extensions .frm .MYD .MYI such as: forums_USER_TITLES.frm forums_USER_TITLES.MYD forums_USER_TITLES.MYI
|
|
|
|
Joined: Jun 2006
Posts: 693
Addict
|
Addict
Joined: Jun 2006
Posts: 693 |
This ended up being fairly twisted and I imagine had to do with mis-set registry values. Somehow when I upgraded from MySQL 5.1 to 5.5 last November it moved the three main big files, but it never moved all the .frm directories. Those are all still in the documents-and-settings area, in the 5.1 subdirectory. So what I did was, over on my other Windows 2003 server, I made a fresh install of MySQL 5.5.15 so it matched. Then I moved over the three innodb files into the documents-and-settings data directory. I then separately moved all the .frm directories in, which came from the 5.1 subdirectory. I gave them the my.ini file from the main program files directory. I ran it from the command prompt - and I could see the databases! I promptly dumped them all out to text files. On the new server, I'm making a fresh, clean install of 5.5.15 again to keep everything as simple as possible. Then I'll import those dump files. And back everything up. Only then will I think about upgrading . So right now I'm at the stage of moving those dump files onto the new server, and giving it a fresh, clean version of 5.5.15.
|
|
|
|
Joined: Jun 2006
Posts: 693
Addict
|
Addict
Joined: Jun 2006
Posts: 693 |
Current summary, with a bit of restating.
It turns out my system had gotten fairly confused during my upgrade last fall from 5.1 to 5.5. Even though the ini file clearly said to put the data into one spot, there must have been a registry entry or something else still pointing to 5.1. So while the three main files – IBDATA1 and such – were in the 5.5 directory, all the matching .frm files were down in the 5.1 directory.
When I assembled all the pieces together on my 2003 server, with the matching 5.5 MySQL software, POOF, the WordPress five databases exported completely smoothly, with all data up through the crash. Those five databases are up and running on the new server. Everything is fine with them. These five had only .frm files in their directories and were listed in there as INNODB. So the data was indeed in the IBDATA1 file I had.
That leaves the three remaining UBB forum databases. They have .frm as well as .myi and .myd files in the directories. The .frm files indicate that the tables are MYISAM. I had converted them all to INNODB just after the upgrade. So it seems that these .frm files are not the ones that go with the IBDATA1 file. But I can’t find any other .frm files on the old C drive. I was able to successfully export the data that was there in those .myi / .myd files – which was the data state just before I converted them to INNODB, last December. This at least gets the forums live and working with 8 or so years of data – but of course the last 9 months are still missing. Everything after the INNODB conversion is “trapped†in the IBDATA1 file.
I know I converted the tables to INNODB. I know this INNODB file I have (the IBDATA1) was the active one being used, as I just got all the wordpress content out of it. Apparently I now have to find the “correct†.frm files to go with that – or find some way to extract the data from the IBDATA1 file without having the .frm files. Alternately, could I edit the .frm files I do have and change them from saying these tables are MyISAM (their current state) to saying they are INNODB (which in reality they are)?
|
|
|
|
Joined: Jun 2006
Posts: 693
Addict
|
Addict
Joined: Jun 2006
Posts: 693 |
OK this is getting silly. I couldn't find the EnjoyMA blog .frm files ANYWHERE. I only had my IBDATA1 core file So I copied those .frm files from another #wordpress blog, completely different data. Same table layout. VOILA. It connected fine and let me export all my data from that IBDATA1 file. So really, all you need if you have an IBDATA1 file and "trapped" INNODB data in it is to make up a dummy database with the same table definitions. Then copy those .frm files into a directory with the correct name of the data you do want. Good to know!
So, does anybody here have their UBB forum in INNODB format, who can send me their FRM files? There's no data in them - just the table definitions.
|
|
|
|
Joined: Jun 2006
Posts: 693
Addict
|
Addict
Joined: Jun 2006
Posts: 693 |
Hmmm, never mind. I realized that the posts table was explicitly kept as non-INNODB - and that's the table that's most important. So even when I have all the .frm files, I still need the data files for that one table.
It's back to searching my hard drive to figure out where they are. A normal windows search isn't finding all my .frm files for some reason.
|
|
|
|
Joined: Jun 2006
Posts: 693
Addict
|
Addict
Joined: Jun 2006
Posts: 693 |
I will add a closing note. It turns out when the hosting company copied the files from my old C drive into a folder on the new one, they missed some directories. So they didn't copy the data directory I needed. When I had them attach the actual old C drive so I could take a look myself, I found the files right where they were supposed to be, and got everything up and running again. So it goes to show, always double check the source material yourself . I now know a lot more about MySQL files and the differences between MyISAM and INNODB thought .
|
|
|
|
Joined: Dec 2003
Posts: 6,566 Likes: 78
|
Joined: Dec 2003
Posts: 6,566 Likes: 78 |
Lucky thing the old drive was okay. Or you would probably still be running in circles.
Blue Man Group There is no such thing as stupid questions. Just stupid answers
|
|
|
|
Joined: Jun 2006
Posts: 693
Addict
|
Addict
Joined: Jun 2006
Posts: 693 |
Well, I realized the WordPress blog I installed after I'd upgraded was completely missing, too. So that led me to realize that there must be an entire directory missing from what they'd moved. If the old drive had really been toast, then I would have just had to have lived with the state of the forums as far as I could retrieve them.
I'll definitely pay more attention to the backups now. I had thought they were running fine.
|
|
|
|
Joined: Jun 2006
Posts: 16,301 Likes: 116
|
Joined: Jun 2006
Posts: 16,301 Likes: 116 |
This is a prime example of why one should store a mysqldump versus a directory backup when doing backups each week/month.
|
|
|
0 members (),
375
guests, and
147
robots. |
Key:
Admin,
Global Mod,
Mod
|
|
|
|