手动安装mysql5.086的问题

[不指定 2009/10/14 22:16 | by xiaoyuwxz ]
      我一直都喜欢用手动方式(命令行方式)安装mysql,但在mysql上一个版本和现在最新的5.086版本时,手动安装却出错,经查看服务,发现手动安装后命令行不正确,以以往的5.0x的时候也有过这个问题,所以在安装mysql后需进行修正。

以下mysql路径为%mysql_path%为mysql的具体路径,需改成具体路径后再进行操作。

修正方式为直接修改注册表中的数据以改正服务中的命令。具体方法如下:

mysql_path\bin\mysqld-nt.exe --install MySQL --defaults-file=mysql_path\my.ini
在安装后
net start mysql
会显示:
mysql 服务正在启动.
mysql 服务无法启动。
系统出错
发生系统错误 1067
进程意外终止。

经查看服务,可执行文件路径为:
%mysql_path%\bin\mysqld-nt.exe %mysql_path%\my.ini MySQL

而正确的路径应该为:
%mysql_path%\mysql\bin\mysqld-nt --defaults-file=%mysql_path%\mysql\my.ini mysql

修正方法有2种:
一、直接修改注册表
打开HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\mysql,右边ImagePath的值进行修正,数值数据为:%mysql_path%\phpsetup\mysql\my.ini
二、批处理修正
reg.exe add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\mysql" /v "ImagePath" /t REG_EXPAND_SZ /d "%mysql_path%\mysql\bin\mysqld-nt --defaults-file="%mysql_path%\phpsetup\mysql\my.ini" mysql" /f

这时候再进CMD,运行 net start mysql,会发现mysql能正常启动了。

近来在打了TCP/IP补丁后,网站程序会出现连接不到MYSQL的错误,但刷新一下就又好了,时而会出现这个错。

没有打此补丁前是正常的,后经网上查找,得知官方已发布修正方法,地址如下:
http://support.microsoft.com/kb/q196271

一、直接修改注册表
内容为:默认最大的临时 TCP 端口的数是 5000 适用于一节中包含的产品中。 在这些产品中添加一个新参数。 要提高临时端口的上限,请按照下列步骤操作:
1.  启动注册表编辑器。
2.  在的注册表中找到以下子项,然后单击 参数 :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3.  在 编辑 菜单上单击 新建 ,,,然后添加下面的注册表项:
数值名称: MaxUserPort
值类型: DWORD
值数据: 65534
有效范围: 5000-65534 (十进制)
默认值: 0x1388 (5000 十进制)
说明: 此参数将控制程序从系统请求任何可用的用户端口时使用的最大端口数。 通常,1024 的值和包含的 5000 之间分配临时的 (短) 端口。
4.  退出注册表编辑器,并重新启动计算机。
请注意 其他的 TCPTimedWaitDelay 注册表参数确定在多长时间关闭的端口等可重复使用已关闭的端口。
新建Dword值,TcpTimedWaitDelay,数值十进制设为 30-60

二、批处理修正

复制以下内容存入记事本另存为.bat文件后双击运行即可

rem 修正TCP/IP补丁错误
reg.exe add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "MaxUserPort" /t REG_DWORD /d "65534" /f
reg.exe add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "TcpTimedWaitDelay" /t REG_DWORD /d "30" /f


三、注册表导入修正

复制以下内容存入记事本另存为.reg后双击导入即可

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

"MaxUserPort"=dword:0000fffe
"TcpTimedWaitDelay"=dword:0000001e
Tags:
    经过闲时的调试,利用批处理安装IIS中的asp+php环境,可以说几近完美了,没学过复杂的批处理,但这次的更新应该说是很完美了。
    设置思想大致如下:
    请求输入安装分区,判断目录或分区是否存在,不存在则提示出错返回重输入。分区存在,则进入下一步,进行分区格式的判断,如为fat32分区,则返回出错信息,停止安装。判断为ntfs分区则下一步,进行系统盘的权限设置,并拷贝源程序到目标分区。
    对环境的各个目录进行权限设置,完成后进行安装环境前的文件清理,所有的文件不拷入系统目录的,如曾经安装过环境,需清理掉这些垃圾文件,不然有可能影响此次环境的配置(存在版本差异等)而导致配置环境失败。
    安装zend,请求输入zend加速目录,并在注册zend中按此路径进行注册。
    添加环境变量,这里可以分为当前目录或系统目录版,当前目录版的好处是,所有环境文件都不会写入系统分区或目录,即使系统重做了,恢复环境也只要较简单的步骤。
    利用前面请求的输入对预置的php.ini-dist进行内容的更改,并另存为php.ini。
    得用前面请求的输入对预置的my.ini进行内容的更改。
    安装mysql
    启用asp php
    为IIS添加默认的文档
    添加php筛选和asp配置等,如环境为net1.1或net2.0,会因为找不到文件而自动导致此部份失败,即自动不设置此部份,所以不影响此步骤的正确性。
    为默认站点建立phpmyadmin的虚拟目录。
    拷贝phpinfo.php,并清理安装过程中的临时文件及不需要再使用的文件。
    自动打开phpinfo.php及phpmyadmin进行数据库的管理。
    以前,我曾写过利用批处理和任务计划备份mysql的文章,大致如下:
第1种
    利用写好的批处理,对机上现在的mysql备份到其他分区,备份批处理总共设7个,从星期一到星期天,备份自动删除上星期对应当天星期的数据,然后再对当日数据进行备份,也就是说循环保留7天的数据备份。这样的好处是不占空间,每天进行备份,备份的数据较新,以备数据出错时用。
    而备份的方法也可以分两种,一种利用xcopy进接拷贝数据库,第二种利用winrar命令方式对数据库进行压缩后存放,以节省空间。这两种方式也各有千秋,直接拷贝的方法,速度较快,省去了压缩步骤,数据的准确率也较高,而压缩方式较节省磁盘空间,但压缩需要时间,尤其是数据库较大时,压缩较点时间的系统资源,而且有时压缩好的数据还可能是出错的。
    为了节省磁盘空间,也可以不进行七天的备份,只是有选择地选某几天进行循环备份。
第2种,利用批处理自行创建日期目录名,每天进行备份,这样会在每天建一个目录进行备份,能较长时间地保留数据库的备份,不过,缺点就是较占磁盘空间。它的操作方式大致和第1种相同,但批处理就不需要建7个,而只要建一个就可以了。
    为了方便安装和使用,需要建立安装批处理,大致构思如下:
   a. 启用计划任务
   b.请求输入源mysql目录路径
   c.输入目标地back目录路径
   d.按上述路径创建备份bat文件, 并拷贝至目的备份文件目录
   e.设置计划任务
有空我把写好的批处理贴出来供大家分享。
分页: 15/20 第一页 上页 10 11 12 13 14 15 16 17 18 19 下页 最后页 [ 显示模式: 摘要 | 列表 ]