Supertext Home
Chief of the System Blog

Changing the MySQL my.ini File in Windows Vista

November 9th, 2007 by

Not sure if I’m the only left that uses Vista with the UAC (User Account Control), but it definitely got me into trouble yesterday.

I tried to change the my.ini (Configuration File for the MySQL Database), but due to some Vista security feature it created a Shadow Copy of the file and MySQL never actually got to see my changes.

You can check this via the MySQL command prompt. In my case I had to adjust the max_allowed_packet setting, so if you run:

mysql> show variables like 'max%' ; 

+-----------------------+------------+
| Variable_name         | Value      |
+-----------------------+------------+
| max_allowed_packet    | 1048576    |

So, this is a good way to check if your changes actually have an effect.

Now, to change the my.ini file, it helps to know where and how MySQL reads it.

This Section in the MySQL Online help explains it nicely. As a summary, this is where it reads from:

  • WINDIR\my.ini Global options
  • C:\my.cnf Global options
  • INSTALLDIR\my.ini Global Options
  • defaults-extra-file The file specified with --defaults-extra-file=path, if any

If you start MySQL as a service you can also use the defaults-file option. More info here.

What we can do to have our my.ini file read, is to make a copy, store it somewhere outside of the Program Files path and point defaults-file to it. It’s a registry setting:

KEY:
HKU\SYSTEM\CurrentControlSet\Services\MySQL\ImagePath

Value:
“C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt” –defaults-file=”C:\MySQL\my.ini” MySQL

Good luck!

Related Posts

  1. Very simple MySQL backup via FTP script
  2. Change a CSS Control Adapter in Code
  3. Using Log4Net for a Windows Console Application
  4. Recursive file copy with wildcard on Windows

Leave a Reply

  • Topics
  • Archive
  • Subscribe
  • Facebook
  • Twitter