HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlMajor

Change existing datadir path

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
existingdatadirpathchange

Problem

I want to change the datadir path in the my.ini file.

The existing datadir path is C:/ProgramData/MySQL/MySQL Server 5.1/Data/

The size of my C: drive is 30 GB and the MySQL data folder is occupying 25 GB. So I want to change the datadir to F:/naveen/data.

Is this possible?

My machine is running Windows Server 2003.

Solution

From your paths, I can safely assume the following:

  • You are running MySQL in Windows



  • You used the MySQL MSI to install



What you need to do is establish the file my.ini

When installing MySQL for Windows using the MSI, the location of my.ini is expected to be C:/ProgramData/MySQL/MySQL Server 5.1.

Please run the following in a DOS Window:

cd C:/ProgramData/MySQL/MySQL Server 5.1
dir *.ini


You will see some sample my.ini files. However, if there is no file named my.ini in that folder, you must create one. Whether one exists or not, please run this:

cd C:/ProgramData/MySQL/MySQL Server 5.1
notepad my.ini


If you are asked to create it, please do so.

Next, create the following entry under the [mysqld] group header in my.ini:

[mysqld]
datadir=F:/naveen/data


Save my.ini

Next, stop mysql from the DOS command line like this:

C:\> net stop mysql


Next, make a copy of the entire data folder in the new location

C:\> xcopy "C:\ProgramData\MySQL\MySQL Server 5.1\data" F:\naveen\data /s


Last step, start up mysql

C:\> net start mysql


Try logging into mysql. Once you can login to mysql successfully, run this command:

show variables like 'datadir';


If F:\naveen\data shows up as the datadir, CONGRATULATIONS, YOU HAVE DONE IT RIGHT !!!

Once you are satisfied all your apps hitting MySQL works, you can delete everything in C:\ProgramData\MySQL\MySQL Server 5.1\data\*

Give it a Try !!!

Code Snippets

cd C:/ProgramData/MySQL/MySQL Server 5.1
dir *.ini
cd C:/ProgramData/MySQL/MySQL Server 5.1
notepad my.ini
[mysqld]
datadir=F:/naveen/data
C:\> net stop mysql
C:\> xcopy "C:\ProgramData\MySQL\MySQL Server 5.1\data" F:\naveen\data /s

Context

StackExchange Database Administrators Q#24403, answer score: 35

Revisions (0)

No revisions yet.