您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> sql server教程 >> 正文

MySQL中文参考手册5(安装MySQL下)

作者:佚名    责任编辑:admin    更新时间:2022-06-22

MySQL中文参考手册5(安装MySQL下)ww w.iTbulo.coUkonL

转载 译者:晏子

〖返回〗〖转发〗

译者:晏子 ([email protected])主页:http://linuxdb.yeah.net

4.12 Win32 注意事项
这节描述在Win32上安装和使用MySQL,这也在MySQL Win32分发所带的“readme”文件中描述。 

4.12.1 在Win32上安装MySQL
如果你没有一个注册的MySQL版本,你应该首先下载共享软件版本,从: 

MySQL 3.21.29 

如果你准备从一些其他程序连接MySQL,你也可能需要MyODBC驱动程序。你可在MySQL下载页找到。 

安装任何一个分发,在某个空目录解压缩它并且运行Setup.exe程序。 

缺省地,MySQL-Win32被配置安装在“C:mysql”。如果你想要在其它地方安装MySQL,在“C:mysql”安装它,然后将安装移到你想要的地方。如果你真的移走MySQL,你必须通过提供选项给mysqld告诉mysqld那里的所有一切,使用C:mysqlinmysqld --help显示所有的选项目!例如,如果你移动MySQL分发到“D:programsmysql”,你必须用D:programsmysqlinmysqld --basedir D:programsmysql来启动mysqld。

用登记的MySQL版本,你也可以创建一个“C:my.cnf”文件来保存用于MySQL服务器的任何缺省选项。拷贝文件“mysqlmy-example.cnf”到“C:my.cnf”并且编辑它来适用于你的安装。注意你应该用"/"而不是""指定所有的路径。如果你使用“”,你需要指定两次(“”),因为在MySQL中“”是转义字符,见4.15.4 选项文件。 

4.12.2 在Win95/Win98上启动MySQL
MySQL使用 TCP/IP 把一个客户连接到一个服务器。(这将允许在你的网络上任何机器连接你的MySQL服务器)。因此,你必须在启动MySQL前在你的机器上安装TCP/IP,你可以在你的Windows CDROM上找到TCP/IP 。 

注意:如果你正在使用一个旧的Win95版本(例如OSR2),很有可能你有一个老的Winsock包!MySQL需要Winsock 2!你可从微软得到最新的Winsock。Win98有新的Winsock 2库作为缺省,这样上述不适用于Win98。 

你能使用2个不同的MySQL服务器: 

mysqld  用完整调试和自动存储器分配检查编译 
mysqld-opt  对Pentium 处理器优化。  

上面两个应该在任何 > = i386的Intel处理器上工作  。 

为了启动mysqld服务器,你应该启动一个MSDos窗口并键入: 

C:mysqlinmysqld
这将在一个没有窗口的背景启动mysqld。 

你可以这样杀死MySQL服务器,执行: 

C:mysqlinmysqladmin -u root shutdown
注意Win95/Win98不支持命名管道的创建。在Win95/Win98上,你只能使用命名管道连接运行在一个NT服务器上的远程MySQL。 

4.12.3 在NT上启动MySQL
Win95/Win98小节也适用于在NT上的MySQL,有下列差别: 

为了是MySQL用TCP/IP工作,你必须安装服务包3(service pack 3)(或更新)! 

对于NT,服务器名字是mysqld-nt。通常你应该在 NT 上安装MySQL作为一种服务: 

C:mysqlinmysqld-nt --install
(你可以在 NT 上使用mysqld或mysqld-opt服务器,但是那些不能作为一种服务启动或使用命名管道。)

你可以用下列命令启动和停止MySQL服务: 

NET START mysql
NET STOP mysql

注意在这种情况下,你不能对mysqld-nt使用任何其他选项! 

如果你需要用任何选项启动mysqld-nt,你也可以作为在NT上的一个独立程序运行mysqld-nt!如果你在NT上没有选项启动mysqld-nt,mysqld-nt尝试启动自己作为一种有默认选项的服务。如果你停止了mysqld-nt,你必须用NET START mysql启动它。

服务用MySql名字被安装,一旦安装,它必须使用服务控制管理器(SCM)实用程序启动服务(在控制面板中找到)或使用NET START MySQL命令。如果需要任何选项,在你启动MySQL服务前必须作为SCM实用程序的“启动参数”指定它们。一旦运行,可使用mysqladmin或从SCM实用程序或使用命令NET STOP MySQL停止mysqld-nt。如果你使用SCM停止mysqld-nt,SCM有一条关于mysqld shutdown normally奇怪的消息,当作为一种服务运行时,mysqld-nt没有控制台的存取权限,所以没有消息可以看见。 

在NT上你可以得到下列服务错误消息: 

Permission Denied (权限拒绝) 意味着它不能找到mysqld-nt.exe  
Cannot Register (不能登记) 意味着路径是不正确的 

如果你作为一种服务安装mysqld-nt有问题,尝试用完整的路径启动它: 

C:mysqlinmysqld --install
如果这还不工作,你能通过在注册表修正路径使得mysqld-nt正确启动! 

如果你不想作为一种服务启动mysqld-nt,你可以如下启动它: 

C:mysqlinmysqld-nt --standalone


C:mysqlinmysqld-nt --standalone --debug
最新的版本在“C:mysqld.trace”给你一个调试踪迹。 

4.12.4 在 Win32 上运行 MySQL
MySQL在所有Win32平台上支持TCP/IP和NT上命名管道。如果客户安装了TCP/IP,缺省是对NT上的本地连接使用命名管道而对所有其他情形使用TCP/IP,主机名指定使用哪个协议: 

主机名  协议  
空 (没有) 在NT上,首先尝试命名管道;如果它不工作,使用TCP/IP。在Win95/Win98上,使用TCP/IP。  
.  命名管道 
localhost TCP/IP到当前主机  
主机名 TCP/IP  

通过指定命名管道--pipe选项,你可以强制一个MySQL客户使用命名管道。使用--socket选项指定管道的名字。 

通过执行下列命令,你能测试MySQL是否正在工作: 

C:mysqlinmysqlshow
C:mysqlinmysqlshow -u root mysql
C:mysqlinmysqladmin version status proc
C:mysqlinmysql test

如果在Win95/Win98上mysqld很慢地回答连接,可能你的DNS有问题。在这种情况中下,用--skip-name-resolve启动mysqld并且在MySQL授权表中仅使用localhost和IP数字。在你连接运行在NT上一个mysqld-nt的MySQL服务器时,使用--pipe指定命名管道使用的参数,你也能避开DNS,对大多数MySQL客户是可行的。 

有2个版本的MySQL命令行工具: 

mysql  用原生Win32编译,它提供很有有限的文本编辑能力。  
mysqlc  用Cygnus GNU 编译器和库编译,它提供readline编辑。  

如果你想使用mysqlc.exe,你必须拷贝“C:mysqllibcygwinb19.dll”到“windowssystem”(或类似的地方)。 

在Win32上缺省的权限给所有本地用户以所有数据库的完全权限。为了使MySQL更安全,你应该为每个用户设置口令并删除mysql.user中有Host='localhost'和User='的行。 

你也应该为root用户增加一个口令:(下列例子通过删除匿名用户,允许任何人存取“测试”数据库)

C:mysqlinmysql mysql
mysql> DELETE FROM user WHERE Host='localhost' AND User=';
mysql> QUIT
C:mysqlinmysqladmin reload
C:mysqlinmysqladmin -u root password your_password

在你设置了口令以后,如果你想要关掉mysqld服务器, 你能使用这个命令做到: 

mysqladmin -- user=root -- password=your_password  shutdown
如果你正在使用在windows下的MySQL共享软件版本,上面的命令将以 parse error near 'SET OPTION password'的错误而失败,这是因为,这是共享软件版本,它基于MySQL 3.21,没有SET PASSWORD命令。 

对共享软件版本,你能如下设置root用户口令: 

C:mysqlinmysql mysql
mysql> UPDATE user SET password=PASSWORD('your password') WHERE user='root';
mysql> QUIT
C:mysqlinmysqladmin reload

有注册的MySQL版本,你能很容易地用GRANT和REVOKE命令增加新用户和更改权限,见7.26 GRANT和REVOKE句法。对Windows 的共享软件版本,必须使用INSERT、UPDATE和DELETE在mysql数据库中的一个表来管理用户和他们的权限,见6.13 存取拒绝(Access denied)的错误原因。 

4.12.5 用SSH从Win32连接一个远程MySQL
这是一个关于怎样用SSH 得到一个安全的连接远程MySQL服务器的注意事项(David Carlson)。 


      
  • 在你的windows机器上安装SSH客户 - 我使用了一个来自http://www.doc.ic.ac.uk/~ci2/ssh/的免费SSH客户。其他有用的链接:http://www.npaci.edu/Security/npaci_security_software.html和http://www.npaci.edu/Security/samples/ssh32_windows/index.html. 
      
      
  • 启动SSH。设置主机名字 =