在Windows上安装MySql 5.1.35 Noinstall版

1. 在http://dev.mysql.com/downloads/mysql/5.0.html下载mysql-noinstall-5.0.15-win32.zip.

2. 解压到C:\mysql, 拷贝my-medium.ini到C:\WINDOWS, 并重命名为my.ini.

3. 编辑my.ini,在[mysqld]部分中增加如下两句:
basedir = C:/mysql
datadir = F:/Data/mysqldata
因安装CodeLib .Net, [mysqld]修改以下几句为:(原因见:http://codelib.threeus.com/Manual/ConnectionMySQL.htm 《安装设定Code Library(MySQL)三步骤》)
max_allowed_packet = 32M (默认为1M)
sort_buffer_size = 4M (MySQL 5.0.15 my-medium.ini默认为512K)
新增default-character-set = utf8
在[client]中同样增加default-character-set = utf8

4. 移动C:\mysql\data子目录到F:\Data, 并重命名为mysqldata.

5. 将C:\mysql\bin增加到系统户用变量中.

6. 选用mysqld-nt做为MySQL服务器类型, 命令行输入mysqld-nt --install, 将MySQL安装为Windows服务, 可以通过[管理工具]->[服务]查看, 系统已经多了MySQL一项服务.

7. 运行net start mysql, 启动MySQL服务.

8. 对初始用户以及密码进行修改:
(我的MySQL 5.0.15 Noinstall Windows初始化没有两个匿名用户, 也没有从其他主机连接的root用户, 只有一个localhost root用户.)
shell> mysql -u root
mysql> set password for 'root'@'localhost' = password("mypassword");

9. 安装完毕.



注: (参见MySql 5.0 Manual 2.3.6 Installing MySQL from a Noinstall Zip Archive, 2.9 Post-Installation Setup and Testing)
1. 手工安装MySQL在Windows NT-based系统下时, 请确保使用具有administrator权限的用户.

2. MySQL服务器传统上安装在C:\mysql; MySQL安装向导一般将其安装在C:\Program Files\MySQL. 手工安装时, 如果不安装在C:\mysql中, 则必须在启动时指定安装路径, 或者在选项文件中设置.

如果你需要在运行服务器时指定启动选项, 你可以通过命令行或者将其放到选项文件中.

MySQL服务器在Windows上启动时, 它在两个文件中寻找选项: Windows目录下的my.ini和C:\my.cnf. (Windows目录可通过输入echo %WINDIR%命令得到)

MySQL首先在my.ini中寻找选项, 然后才是my.cnf中. 为了避免混淆, 你最好只使用一个文件. 如果你的PC启动盘符不是C:, 那么你只能使用my.ini. 无论你使用哪个选项文件, 它都必须是纯文本的.

你可以使用MySQL发布版本中的范例选项文件, 它们是在你安装目录下类似这样文件名的文件: my-small.cnf, my-medium.cnf, my-large.cnf, my-huge.cnf, 你可以重命名它们并拷贝到合适的目录中做为基本配置文件.

例如, 如果MySQL安装在E:\mysql, 数据目录在E:\mysql\data, 你可以创建选项文件包含[mysqld]部分来指定basedir和datadir参数:
[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=E:/mysql/data

注意, 在Windows中路径名中使用斜杠(/)而不是反斜杠(\). 如果使用反斜杠(\), 那么必须双写它们(\\):
[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mysql\\data

在Windows上Installer将数据目录直接放置在MySQL安装目录下, 如果你希望在其他地方放置数据, 你必须拷贝整个data目录中内容到新的目录中. 例如, 如果MySQL安装在C:\Program Files\MySQL\MySQL Server 5.0, 数据目录默认安装在C:\Program Files\MySQL\MySQL Server 5.0\data. 如果你想使用E:\mydata做为数据目录, 那么你必须做下面两件事情:
i. 移动整个数据目录及其内容从C:\Program Files\MySQL\MySQL Server 5.0\data到E:\mydata.
ii. 在每次启动服务器时, 使用--datadir选项指定新的数据目录位置.

3. 如果你在同一台机器上运行多个MySQL服务器, 那么你不能将MySQL的bin目录设置到Windows PATH中去.

4. 可以运行mysqld(名字根据选取不同MySQL服务器类型不同而不同) --install, 将MySQL安装为系统自动启动服务, 也可以运行mysqld --install-manual将其安装为手动启动.

这时就可以运行net start mysql启动MySQL, 运行net stop mysql或mysqladmin shutdown来停止MySQL.

可以运行mysqld --remove来移除MySQL服务, 但是必须在停止MySQL之后.

5. 在Windows上, 授权表已经预先设置在数据库中, 因此无需像Unix-Like系统那样mysql_install_db(Linux使用RPM安装时, 自动运行mysql_install_db, 无需我们再手动操作).

在Windows上, 系统初始化两个root用户, 密码均为空(一个为本机连接, 另一个为其他机器连接; Unix中两个都为本机连接, 其中一个必须指明主机名为localhost, 另一个指明其他主机的真实主机名或IP地址);

在Windows上, 系统初始化两个匿名用户, 用户名为空, 没有密码(一个为本机连接, 具有所有权限, 相当于root, 另一个为其他机器连接, 对test数据库以及其他名字以test为开头的数据库具有所有权限; Unix中两个都为本机连接, 其中一个必须指明主机名为localhost, 另一个指明其他主机的真实主机名或IP地址, 这两个用户都只对test数据库以及其他名字以test为开头的数据库具有所有权限).

6. 为匿名用户设置密码, 可以使用SET PASSWORD或UPDATE. 无论使用什么, 都记得要使用PASSWORD()函数加密密码.

在Windows上使用SET PASSWORD, 如下所示:(其中newpwd为你实际要使用的密码)
shell> mysql -u root
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD("newpwd");
mysql> SET PASSWORD FOR ''@'%' = PASSWORD("newpwd");


在Unix上使用SET PASSWORD, 如下:
shell> mysql -u root
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD("newpwd");
mysql> SET PASSWORD FOR ''@'hostname' = PASSWORD("newpwd");
在第二个SET PASSWORD语句中, 将hostname替换为服务器名, 这个名字是在用户表中非本机root记录Host列中指明的. 如果你不知道这个名字是什么,可以在SET PASSWORD语句前先执行下面语句:
mysql> SELECT Host, User FROM mysql.user;
寻找User列为root, Host列不为localhost的记录, 在第二个SET PASSWORD中使用这个记录的Host列的值.

另外一个修改匿名用户的方法是使用UPDATE来直接修改user表. 以root身份连接服务器, 执行UPDATE语句对恰当的user表记录修改Password列的值. 这个过程在Windows下和Unix下是相同的, 下面的UPDATE语句同时对两个匿名用户设置同一密码:
shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD("newpwd");
-> WHERE User = '';
mysql> FLUSH PRIVILEGES;
在你使用UPDATE直接修改了user表的密码之后, 你必须运行FLUSH PRIVILEGES告诉服务器重新读取授权表, 否则更改只有到你下次重新启动才有效.

如果想删除匿名用户, 可以这样做:
shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
这个DELETE语句适用于Windows和Unix, 如果你只想删除具有同root相同权限的匿名用户, 则这样做:
shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE Host = 'localhost' AND User = '';
mysql> FLUSH PRIVILEGES;
这个匿名用户具有完全权限, 所以删除它可以增强安全.

7. 你可以通过多种方式为root用户修改密码. 下面示范三种方法:
使用SET PASSWORD语句
使用mysqladmin命令行
使用UPDATE语句
SET PASSWORD和UPDATE方式与前面类似.

使用mysqladmin为root修改密码执行下列命令:
shell> mysqladmin -u root password "newpwd"
shell> mysqladmin -u root -h host_name password "newpwd"
这些命令同时适用Windows和Unix, 在第二个命令中以服务器名替换host_name. 密码旁边的双引号(")不是必须的, 但当你的密码包含空格或其他对一些命令解释器特殊的字符时就必须使用它们.

8. 在你设置好密码之后, 在连接服务器时你必须提供正确的密码, 例如, 如果你想使用mysqladmin来关闭服务器, 你得使用这个命令:
shell> mysqladmin -u root -p shutdown
Enter password:(在这输入root密码)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sharky77/archive/2006/07/03/869747.aspx

posted @ 2009-06-29 15:45  Rick Sun  阅读(2558)  评论(0编辑  收藏  举报