`

Windows 下运行多个Mysql

阅读更多
Windows環境下讓多個Mysql版本同時運行
《以下內容參考資料:http://www.elaguan.net/show-313-1.html、 http://www.albertsong.com/read-17.html》
為了建立開發測試環境,在Windows環境下讓多個Mysql版本同時運行。
目前已安裝之 mysql 版本為 3.23.49,這個部分不再作更動,並且加裝 mysql 4.1.22 及 mysql 5.0.45 共三個版本同時在同一部機器上運行。
(以下原本是要安裝 mysql 5.1.22,但是後來發現缺少 mysqld-nt.exe,因此先改改裝 mysql 5.0.45 。)
一、下載 mysql 4.1 及 mysql 5.0

    http://dev.mysql.com/downloads/
    下載Windows 免安裝的 zip package 壓縮包,mysql-4.1.22 及 mysql-5.0.45 。
    因為是要另外安裝 Mysql 4 與Mysql 5 共存並行,所以這裡不使用有Setup.exe 的安裝檔而是使用壓縮包,再自行部署。

二、壓縮包解壓縮到 C:\mysql4 與 C:\mysql5

    原本已經安裝的 mysql 3.23.49 位置在 C:\mysql,此處不再變動。
    為了容易辨識,把 mysql-4.1.22 壓縮包解壓縮到 C:\mysql4 ;把 mysql-5.0.45 壓縮包解壓縮到 C:\mysql5 。 

三、建立 mysql 組態設定檔 my.ini

    要讓 多個版本的 mysql server 並行於同一部機器上有一個問題,就是 mysql 組態設定檔 my.ini 衝突的問題。
    一般在Windows上安裝mysql,都是把 my.ini 檔複製到系統目錄下%SYSTEMROOT%(一般為 C:\WINNT 或 C:\WINDOWS),但是各個版本的 mysql server 的 my.ini 設定值並不完全相同,所以,必須分開放在不同的目錄位置。
    事實上, my.ini 除了放在系統目錄下以外,也可以放在 mtsql 安裝的目錄下,只是在執行 mysql install 時需要另外指定位置,這個部分後續再提。
    所以,這裡 mysql-4.1.22 的 my.ini 放在 C:\mysql4 ;把 mysql-5.0.45 的 my.ini 放在 C:\mysql5 。
    ◎ 以下動作 mysql-4.1.22 及 mysql-5.0.45 都一樣
    在 C:\mysql4 與 C:\mysql5 目錄下找到 my-medium.ini ,在原位置複製一份並更名為 my.ini。
    (這裡有 my-small.ini、my-medium.ini 、my-large.ini 、my-huge.ini、my-innodb-heavy-4G.ini 五個檔案,內容的設定項目都大同小異,主要差別是針對主機配置記憶體的大小。因為我們只是要建立開發測試環境,所以選擇 my-medium.ini 即可,配置記憶體是 32M - 64M。)

四、編輯 mysql-4.1.22 的 my.ini

    在 C:\mysql4 用記事本開啟 my.ini 並且修改/增加以下設定項目:
    [client]
    port   = 3306
    -- 修改為 ---
    port   = 33064
    (mysql 預設的 port 號是 3306 ,已經給原來已安裝之 mysql 3.23.49 使用了,所以這裡改成 33064。要改哪一個 port 可以任選(0 ~ 65535),只要不跟其他服務衝突就好。)
    -- 增加 --
    default-character-set = utf8
    [mysqld]
    port   = 3306
    -- 修改為 ---
    port   = 33064
    -- 增加 --
    basedir = C:/mysql4
    datadir = C:/mysql4/data
    default-character-set = utf8
    default-collation = utf8_general_ci
    (basedir 是 mysql 程式安裝的位置;datadir 式資料庫檔案存放的位置;default-character-set 是預設編碼;default-collation 是預設字元集。)
    -- 增加 --
    [mysqldump]
    default-character-set = utf8
    [mysql]
    default-character-set = utf8

五、編輯 mysql-5.0.45 的 my.ini

    在 C:\mysql5 用記事本開啟 my.ini 並且修改/增加以下設定項目:
    [client]
    port   = 3306
    -- 修改為 ---
    port   = 33065
    (mysql 預設的 port 號是 3306 ,已經給原來已安裝之 mysql 3.23.49 使用了,所以這裡改成 33065。要改哪一個 port 可以任選(0 ~ 65535),只要不跟其他服務衝突就好。)
    -- 增加 --
    default-character-set = utf8
    [mysqld]
    port   = 3306
    -- 修改為 ---
    port   = 33065
    -- 增加 --
    basedir = C:/mysql5
    datadir = C:/mysql5/data
    default-character-set = utf8
    default-collation = utf8_general_ci
    (basedir 是 mysql 程式安裝的位置;datadir 式資料庫檔案存放的位置;default-character-set 是預設編碼;default-collation 是預設字元集。)
    -- 增加 --
    [mysqldump]
    default-character-set = utf8
    [mysql]
    default-character-set = utf8

六、 移除Windows環境變數 C:\mysql\bin

    ‧原來已安裝之 mysql 3.23.49 若有設定Windows環境變數 C:\mysql\bin 必須把他移除掉,否則在執行 mysql 其他版本安裝時,會優先執行到 mysql 3.23.49 的指令而造成安裝失敗。
    ‧控制台 → 系統 → 【進階】頁籤 → 【環境變數】按鈕 → 下方【系統變數】→找到變數名稱 path→ 編輯→移除 C:\mysql\bin;   → 按【確定】

七、安'裝 mysql-4.1.22 及 mysql-5.0.45

    因為我們把 mysql4 與 mysql5 的 my.ini 放至於該各自安裝的目錄下 C:\mysql4 與 C:\mysql5,所以在安裝時必須加上   --defaults-file 指令,用意是強制指定 my.ini 的位置(否則就需要把 my.ini 放到 C:\Windows 底下,這樣就無法實現多版本並行)。
    另外,原來已安裝之 mysql 3.23.49 已使用了 MySql 這個服務名稱了,所以,這裡分別把 mysql4 與 mysql5 的服務名稱命名為 MySql4 與 MySql5 以作為區別。
    ◎有二種方式可以下達安裝或移除 mysql 服務的指令,一是直接在DOS 命令列執行指令;二是把指令建立成命令檔(*.cmd)然後再雙擊執行命令檔。
    ** DOS 命令列執行指令 ******
    ‧安'裝 mysql-4.1.22
        C:\mysql4\bin>mysqld-nt --install MySql4 --defaults-file=C:\mysql4\my.ini
    ‧安'裝 mysql-5.0.45
        C:\mysql5\bin>mysqld-nt --install MySql5 --defaults-file=C:\mysql5\my.ini
    ‧移除安'裝 mysql-4.1.22
        C:\mysql4\bin>mysqld-nt --remove MySql4
    ‧安'裝 mysql-5.0.45
        C:\mysql5\bin>mysqld-nt --remove MySql5
    ** 建立成命令檔(*.cmd) ******
    ‧C:\mysql4 下新增文字檔,加入內容文字如下,命名為 install.cmd。
        C:\mysql4\bin\mysqld-nt --install MySql4 --defaults-file=C:\mysql4\my.ini
    ‧C:\mysql5 下新增文字檔,加入內容文字如下,命名為 install.cmd。
        C:\mysql5\bin\mysqld-nt --install MySql5 --defaults-file=C:\mysql5\my.ini
    ‧C:\mysql4 下新增文字檔,加入內容文字如下,命名為 uninstall.cmd。
        C:\mysql4\bin\mysqld-nt --remove MySql4
    ‧C:\mysql5 下新增文字檔,加入內容文字如下,命名為 uninstall.cmd。
        C:\mysql5\bin\mysqld-nt --remove MySql5

六、在 DOS 命令列測試

    ‧啟動服務
    C:\>NET START MySql4
    C:\>NET START MySql5

七、PHP 連線字串

    $link = mysql_connect("localhost:33064", "mysql_user", "mysql_password")
              or die("Could not connect: " . mysql_error());
    $link = mysql_connect("localhost:33065", "mysql_user", "mysql_password")
              or die("Could not connect: " . mysql_error());

◎ 後記

    安裝完成後發現一個問題,使用PHP語法連結 mysql 4.1 資料庫時,可能會產生 "Client does not support authentication protocol requested by server" 的錯誤訊息,解決方法參考下一篇【轉載:新版Mysql密碼算法不同導致「Client does not support authentication protocol requested by server」錯誤】。
    另外,使用 DOS 命令列登入mysql4管理介面,結果會變成登入到 mysql 3.23.49 版本的管理介面,mysql5 並不會有此情況,原因待查。
分享到:
评论

相关推荐

    windows下安装多个mysql

    在Windows操作系统中安装多个MySQL实例是一项常见的需求,特别是在开发、测试和生产环境并存的情况下。以下将详细讲解如何在Windows上设置和管理多个独立的MySQL服务。 首先,我们需要理解MySQL的安装原理。MySQL...

    如何在Windows中运行多个MySQL实例详解

    在Windows中可以从命令行为每个实例使用合适的操作参数来手动启动多个MySQL实例或者通过以Windows服务方式来安装多个服务器来运行。 1.在windows中MySQL的base目录中创建两个新实例的数据目录data3307,data3308 2.为...

    win下安装2个mysql数据库

    在实际的应用场景中,有时我们可能需要在同一台Windows主机上安装并运行多个MySQL实例,例如进行开发测试环境分离或者实现不同项目的数据库独立管理等。本文将详细介绍如何在Windows操作系统下成功安装并配置两个...

    windows平台搭建禅道+mysql

    禅道是一款开源的项目管理工具,它涵盖了产品管理、项目管理、测试管理、文档管理等多个方面,而MySQL则是广泛使用的开源关系型数据库管理系统。以下是如何在Windows上完成这个搭建过程的详细步骤: 1. **下载与...

    windows下mysql5.6的安装

    Windows 下 MySQL 5.6 的安装 在这篇文章中,我们将详细介绍如何在 Windows 下安装 MySQL 5.6。从下载到安装和配置,我们将一步步指导你完成整个安装过程。 下载MySQL 首先,我们需要下载 MySQL 的安装包。在 ...

    Windows下MySQL一键部署脚本及使用说明文档

    在Windows环境下,MySQL数据库的安装和配置通常涉及多个步骤,包括下载安装包、配置环境变量、创建数据目录、初始化数据库、设置密码以及启动服务等。然而,为了简化这个过程,可以使用“Windows下MySQL一键部署脚本...

    Windows下mysql集群+linux下mysql集群

    ### Windows 下 MySQL 集群安装与配置详解 #### 一、Windows 下 MySQL 安装配置 ##### 1. 安装数据库 本章节详细介绍了如何在 Windows 系统上安装 MySQL 数据库,并进行基本配置。 **1.1 开始安装** - **打开...

    windows下mysql同步集群搭建

    这种环境下,多台计算机组成一个集群,每台计算机都可以作为管理节点、数据节点或 SQL 节点。管理节点负责管理数据节点和 SQL 节点,数据节点用于存储数据,SQL 节点用于进行 SQL 操作。 MySQL Cluster 的下载通常...

    Windows Mysql8.0忘记密码后重置密码(亲测可用)

    按下 Win+R 键打开运行对话框,输入 "services.msc",然后在弹出的服务列表中找到 "MySQL80" 服务,右键单击并选择 "停止"。 2. **以不检查密码方式启动 MySQL**: 接下来,以管理员身份打开一个新的命令提示符...

    windows上的mysql驱动

    7. 其他版本:MySQL Connector/J有多个版本,每个版本都有其特定的兼容性和功能改进。例如,5.x系列主要支持MySQL 5.x,而8.x系列则针对MySQL 8.x及更高版本优化。 通过理解和掌握这些知识点,你就能在Windows上...

    mysql5.7 windows bat脚本一键安装.zip

    MySQL 5.7在Windows 10上的安装通常涉及多个步骤,包括下载安装包、配置环境变量、创建数据目录、初始化数据库以及设置密码等。这个名为"mysql5.7 windows bat脚本一键安装.zip"的压缩包文件提供了一个便捷的方法,...

    windows下备份mysql数据库脚本.bat文件

    针对"windows下备份mysql数据库脚本.bat文件"的描述,我们可以推断出这个脚本的主要功能是自动备份MySQL数据库。这个脚本需要包含以下关键部分: 1. **连接信息**:包括MySQL服务器的地址(通常是本地),数据库...

    windows下解压安装mysql5.6.40所需dll打包

    通过以上步骤,你应该能够成功地在Windows环境下安装并运行MySQL 5.6.40。如果你在安装过程中遇到任何问题,确保检查错误日志,以获取更具体的错误信息,以便找到解决方案。同时,保持系统和软件更新,以获得最新的...

    Windows mysql8.0.36.0详细安装教程,附带MySQL安装包

    总之,MySQL 8.0.36.0在Windows上的安装是一个相对简单的过程,只需按照安装向导的提示一步步操作,并参考提供的详细教程,就能成功建立自己的MySQL环境。记住,安全性和稳定性是使用任何数据库系统时的首要考虑,...

    mysql5.7.26 msi安装包,支持windows服务器

    在Windows服务器环境中安装MySQL,通常需要一个合适的安装包,如描述中的"mysql5.7.26 msi安装包"。 MSI(Microsoft Installer)是一种由微软开发的安装包格式,用于在Windows操作系统上部署软件。MySQL 5.7.26 MSI...

Global site tag (gtag.js) - Google Analytics