MySQL supports TCP/IP on all Windows platforms. The mysqld-nt
and mysql-max-nt servers support named pipes on NT, 2000, and XP.
The default is to use TCP/IP regardless of the platform, because named
pipes are actually slower than TCP/IP, and because some users have
experienced problems shutting down the MySQL server when named pipes
are used. Starting from 3.23.50, named pipes are only enabled for
mysqld-nt and mysql-max-nt if they are started with the
--enable-named-pipe option.
You can force a MySQL client to use named pipes by specifying the
--pipe option or by specifying . as the host name. Use the
--socket option to specify the name of the pipe.
In MySQL 4.1, you should use the --protocol=PIPE option.
You can test whether the MySQL server is working by executing any of the following commands:
C:\> C:\mysql\bin\mysqlshow C:\> C:\mysql\bin\mysqlshow -u root mysql C:\> C:\mysql\bin\mysqladmin version status proc C:\> C:\mysql\bin\mysql test
If mysqld is slow to answer to connections on Windows 9x/Me, there is
probably a problem with your DNS. In this case, start mysqld with the
--skip-name-resolve option and use only localhost and IP
numbers in the Host column of the MySQL grant tables.
There are two versions of the MySQL command-line tool:
| Binary | Description |
mysql | Compiled on native Windows, offering limited text editing capabilities. |
mysqlc | Compiled with the Cygnus GNU compiler and libraries, which offers readline editing.
|
If you want to use mysqlc, you must have a copy of the
`cygwinb19.dll' library installed somewhere that mysqlc can find
it. If your distribution of MySQL doesn't have this library installed in the
same directory as mysqlc (the `bin' directory under the base
directory of your MySQL installation, look in the lib directory
to find it and copy it to your Windows system directory
(`\windows\system' or similar place).
The default privileges on Windows give all local users full privileges
to all databases without specifying a password. To make MySQL
more secure, you should set a password for all users and remove the row in
the mysql.user table that has Host='localhost' and
User=''.
You should also add a password for the root user. The following
example starts by removing the anonymous user that has all privileges,
then sets a root user password:
C:\> C:\mysql\bin\mysql mysql mysql> DELETE FROM user WHERE Host='localhost' AND User=''; mysql> QUIT C:\> C:\mysql\bin\mysqladmin reload C:\> C:\mysql\bin\mysqladmin -u root password your_password
After you've set the password, if you want to shut down the mysqld
server, you can do so using this command:
C:\> mysqladmin --user=root --password=your_password shutdown
If you are using the old shareware version of MySQL Version
3.21 under Windows, the above command will fail with an error:
parse error near 'SET password'. The solution to this problem is to
upgrade to a newer version of MySQL.
With the current MySQL versions you can easily add new users
and change privileges with GRANT and REVOKE commands.
See section 4.3.1 GRANT and REVOKE Syntax.
| Posted by Alexander Maslov on Sunday February 9 2003, @3:23pm | [Delete] [Edit] |
Actually, my.ini file "should" be searched on path specified by %windir%. mine, in not event set on winnt at all.
anyway, i place a copy in my installation dir, i created a winnt and put a copy there, and put a my.cfn file in c:\ as well - and i still get the same error 1067.
| Posted by Phillip Harrington on Tuesday February 25 2003, @10:20pm | [Delete] [Edit] |
On Windows XP. I had to put my.ini into c:\windows\system32. I also had to add the lines from the InnoDB section.
| Posted by Ty on Tuesday April 22 2003, @12:02pm | [Delete] [Edit] |
No matter what I do or how I attempt to do it, I can't change the root password.
The command give (mysqladmin --user=root --password=pass
give me a command unknown error, but just using -p prompts me for the password.
After running \mysqladmin -u root password 'newpadd' there is no command line showing it was done or it failed and the pass of my choice never goes into effect.
| Posted by Ty on Tuesday April 29 2003, @3:22pm | [Delete] [Edit] |
found a partial resolution
if you use v3.x of mySQL and change the password and then upgrade to v4 the problem is corrected.
However, I can't change the password once it is set in v3..
nothing in v4 for passwords seems to work to change/edit/create (windows bins)
| Posted by Omar Ordonez on Wednesday April 30 2003, @12:38pm | [Delete] [Edit] |
To change the password on V4.
shell> mysql -u root mysql
mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');
Omar Ordonez
Unica Solutions
| Posted by Julian Cochran on Friday May 16 2003, @11:32pm | [Delete] [Edit] |
I think the above is a good entry point but I have also added some helpful information about actually starting and stopping the MySQL service under Windows at http://www.digitalscores.com/featured-articles/03/stopping-and-starting-mysql-under-nt.html
Regards
Julian Cochran
DigitalScores
http://www.digitalscores.com
| Posted by [name withheld] on Wednesday June 11 2003, @2:08am | [Delete] [Edit] |
How to change the root password for windows XP, use the following code once you've logged in:
shell> mysql -u root -p
shell> Enter password: (Don't enter anything here)
mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');
I've 3 MySQL books and they're all wrong, this seems to work.
| Posted by Darryl Wagoner on Sunday June 22 2003, @6:26am | [Delete] [Edit] |
I found another reason for 1067 error. I start to run DHCP to get leases on an IP address. I tried to start MySQL and got the error. When I check the my.ini I found the bind-address to be different than my current address. It would be nice to have mysqld find the current address, but not a big deal because if it is going to be a network server then it would need a fixed ip address anyway. Hope this helps others.
| Posted by [name withheld] on Tuesday July 29 2003, @8:50pm | [Delete] [Edit] |
Instead of...
"removing the anonymous user that has all privileges"
Why not just remove all accounts that do not have a password.
mysql> DELETE user FROM mysql.user WHERE password="";
http://www.devside.net/web/server/win32/mysql-bin
http://www.devside.net