1.問題來源
一台機子上要運行mysql-4.1.21-win32mysql-5.0.27-win32兩個版本的mysql,其中5.0.27安裝成windows服務,默認情況下,mysql運行於3306埠,因此需要做適當配置才能讓兩個版本同時運行。
2.
解決步驟
1)
軟體準備
mysql-4.1.21-win32
mysql-5.0.27-win32zip版,不需要安裝的。直接解壓到硬碟,這裏以C盤為例,解壓後為c:\mysql-4.1.21-win32c:\mysql-5.0.27-win32
2
)配置
mysql-5.0.27-win32
c:\mysql-5.0.27-win32\my-medium.ini複製一份,改名為my.ini。打開my.ini,將兩處port=3306改為port=3308
myisam_sort_buffer_size = 8M這一行下麵添加
#Path to installation directory. All paths are usually resolved relative to this.
basedir=C:/mysql-5.0.27-win32/
#Path to the database root
datadir=C:/mysql-5.0.27-win32/Data/
C:/mysql-5.0.27-win32/下新建一個批次檔案install.cmd,內容如下:
bin\mysqld-nt –install mysql50 –defaults-file=”C\mysql-5.0.27-win32\my.ini”
再建一個uninstall.cmd,內容如下:
bin\mysqld-nt –remove mysql50 –defaults-file=”C\mysql-5.0.27-win32\my.ini”
好了,雙擊運行install.cmd
功能表 開始–>運行…,輸入services.msc
可以看到有一個叫mysql50的服務,點右鍵,啟動它。
mysql-5.0.27-win32
服務安裝完畢。
卸載服務先通過services.msc停止,再運行uninstall.cmd
mysql-4.1.21-win32
c:\mysql-4.1.21-win32\my-medium.ini複製一份,改名為my.ini。這個版本將使用缺省埠,因此不修改port
myisam_sort_buffer_size = 8M這一行下麵添加
#Path to installation directory. All paths are usually resolved relative to this.
basedir=C:/mysql-4.1.21-win32/
#Path to the database root
datadir=C:/mysql-4.1.21-win32/Data/
C:/mysql-4.1.21-win32/下新建一個批次檔案start.cmd,內容如下:
start bin\mysqld-nt –defaults-file=”my.ini”
運行即可啟動mysql-4.1.21-win32
再建一個stop.cmd,內容如下,
bin\mysqladmin shutdown
運行可以停止mysql,如果不是運行在缺省埠,則要使用port參數,參考下面的命令
bin\mysqladmin shutdown –port=3306
3.
有關說明
1)
以上在win2000上測試通過。
2)
啟動和停止服務也可以不用services.msc,直接輸入net start mysql50net stop mysql50也行。
3
)如果要改埠,修改my.ini,將mysql停止,重啟即可。
4)
如果不指定my.inimysql搜索配置的順序是c:\winnt\my.ini,c:\winnt\my.cnf,c:\my.ini,c:\ my.cnf。如果找不到則使用默認配置在3306啟動。奇怪的是安裝服務時如果不指定,啟動時會使用basedir裏的my.ini,而不安裝成服務直接啟動,則不搜索當前目錄,只搜索缺省位置。
5
)如果使用過安裝版的mysql,安裝時可能會建立c:\winnt\my.ini,最好先將這一檔刪除。
4.
遺留問題
多版本多實例啟動的問題,如果要同時啟動mysql-4.1.21-win32的兩個實例和mysql-5.0.27-win32兩個實例,該如何做,等以後再研究。
創作者介紹
創作者 yoonow 的頭像
yoonow

右腦 想去環遊世界

yoonow 發表在 痞客邦 留言(0) 人氣()