1

I have never worked with MySql.

I have some old/crude software running on my machine. It holds a lot of data that I would like access to since the UI is garbage. After searching around the file directories I found what appears to be a MySql database.

C:\Users\Me\AppData\Roaming\Program Name\mdb\bin

Inside of this directory is a my.ini file along with several others. Also several folders including data.

Inside C:\Users\Me\AppData\Roaming\Program Name\mdb\bin\data are ib_logfile0, ibdata1, and other folders/files including frm.

In Sql Server I'd attach it to SSMS, but I can't seem to do that here. I tried copying all the files to the local MySQL ProgramData folder then opening MySQL workbench. But I never see any tables in the Schema section.

My question is: Is there a way for me to access these tables? I have installed MySql and attempted to connect to this database with no luck. Is there a way to access usernames or can I just use a root account?

Thanks in advance.

2 Answers 2

1

Look in your my.ini file where the variable "datadir" points. Install another mysql (same version or sup better) and copy everything from "datadir" to the new "datadir" in the new installation, start the mysql service. Look in the log maybe you have to run mysql_upgrade script or face another issue, then connect to the database via the workbench.

0

Here is a quick summary of what I ended up doing. It took a lot of trial and error.

I found the mysql service that spins up when the software starts. It has a name like ProgramNameSrv. In services.msc I right clicked and saw that it was targeting a specific my.ini on startup.

I opened the my.ini and did 2 things. I noted the specified port and I included skip-grant-tables command to prevent authentication on startup.

I right clicked the service and clicked "Start". Once it was started I opened command prompt and executed a command to get into the DB: mysql --port 6735 This was the port specified in my.ini. I didn't need to include a user because of the skip-grant-tables.

Once in the DB I inserted my own user with password.

Then I closed down the service and removed the skip-grant-tables command and now I have access to the DB whenever I want. One of the big "aahh haa" moments was when I realized that even if the service isn't called "MySql" or "MySql57" you can still attempt to access it via command prompt with mysql --port <Port Number>

1
  • Also, sorry if this seems obvious. I have zero mysql experience so it was the bit of a struggle.
    – lorengphd
    Commented Sep 12, 2016 at 16:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.