Monday, June 8, 2015

Mysql Install 使用ZIP 檔案方式安裝

   因為硬碟壞掉了,MySQL 需要重新安裝,此次嘗試一下用 ZIP 檔案解壓縮方式安裝,本來以為應該很輕鬆才是,還是用了很久的功夫才安裝成功,過程中也遇到一些問題,和大家分享一下過程。

使用此方式的好處就是,下次更新電腦的時候目錄直接複製(目錄名稱一致),直接執行 mysql-zip-install-batch.bat 批次檔案就可以了,資料庫、預存程序、Viewer、權限 都不用再設定。

安裝環境 : Windows XX

想要安裝的目錄

  1. Install path
    1. D:\Data\AppServ\MySQL\MySQL-Server-56 (下載 mysql-5.6.24-winx64.zip 後檔案解壓縮路徑)
  2. data path
    1. D:\Data\AppServ\MySQL\data5.6
  3. my.ini path
    1. D:\Data\AppServ\MySQL\MySQL-Server-56

一開始先試著用安裝檔案 msi 下載安裝,但是沒辦法指定目錄,只能按照預定的目錄安裝。使用了兩個安裝檔案都不能指定目錄:(記得以前都可以指定的呀 ?)

  • mysql-installer-community-5.5.28.2
  • mysql-installer-community-5.6.19.0

使用ZIP安裝


  1. 下載檔案
    1. D:\Data\Downloads\MySQL\2015.05.29\mysql-5.6.24-winx64\
      1. mysql-5.6.24-winx64.zip   (或是選取其他較適合的版本)
  2. 準備 my.ini (以下目錄自行調整實際的目錄名稱)
    1. D:\Data\AppServ\MySQL\MySQL-Server-56\my.ini

[mysql]
# Specify character settings per database
default-character-set=utf8

[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306

# set basedir to your installation path
basedir=D:\Data\AppServ\MySQL\MySQL-Server-56 # set datadir to the location of your data directory datadir=D:\Data\AppServ\MySQL\data5.6

#Specify character settings at server startup
character-set-server=utf8

  1. 安裝過程問題處理
    1. cmd> SET SERVICE_NAME=Mysql56
    2. cmd> SET MYSQL_HOME=”D:\Data\AppServ\MySQL\MySQL-Server-56”
    3. cmd> SET MYSQL_INI="D:\Data\AppServ\MySQL\MySQL-Server-56"
    4. %MYSQL_HOME%\bin\mysqld.exe --remove %SERVICE_NAME%
      1. >> Install/Remove of the Service Denied!
      2. >> (解決方案) Run command prompt as administrator and try again.
    5. %MYSQL_HOME%\bin\mysqld.exe --install-manual %SERVICE_NAME% --defaults-file=%MYSQL_INI%\my.ini
    6. D:\>net start %SERVICE_NAME%
      1. mysql 服務正在啟動 ....
      2. mysql 服務無法啟動。
      3. 系統發生錯誤。
      4. 系統發生 1067 錯誤。
      5. 處理程序意外終止。
      6. >> Can't read from messagefile 'D:\mysql\share\errmsg.sys'
      7. >> (解決方案) Copy File : ..\mysql-5.6.24-winx64\share\english\errmsg.sys To D:\Data\AppServ\MySQL\MySQL-Server-56\share
    7. net start %SERVICE_NAME% ; always failed to start mysql service
  2. %MYSQL_HOME%\bin\mysqld" --console
  3. path 配置設定
    1. 編輯系統環境變數
      1. add path = D:\Data\AppServ\MySQL\MySQL-Server-56\bin
  4. 依據以上的步驟設定安裝批次
    1. File : D:\Data\AppServ\MySQL\mysql-zip-install-batch.bat
    2. cmd > 以系統管理員身分執行 mysql-zip-install-batch.bat


D:
CD D:\Data\AppServ\MySQL
REM 以上兩行可以省略
SET SERVICE_NAME=Mysql56
SET MYSQL_HOME=D:\Data\AppServ\MySQL\MySQL-Server-56
SET MYSQL_INI=D:\Data\AppServ\MySQL\MySQL-Server-56

net stop %SERVICE_NAME%
Pause
%MYSQL_HOME%\bin\mysqld.exe --remove %SERVICE_NAME%
 
%MYSQL_HOME%\bin\mysqld.exe --install-manual %SERVICE_NAME% --defaults-file=%MYSQL_INI%\my.ini

net start %SERVICE_NAME%

Echo Off
REM %MYSQL_HOME%\bin\mysqld --console
REM D:\Data\AppServ\MySQL\data56
Pause

以上已經完成設定了,看一下服務  Mysql56 是否有啟動

以上服務手動啟動記得調整為自動啟動。


設定登入權限 (原來資料庫已經設定過,就不需要再設定)

  1. 建立 User :  'webuser'@'localhost'
    1. CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'web1234';
    2. GRANT USAGE ON *.* TO 'webuser'@'localhost' IDENTIFIED BY 'web1234' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
    3. GRANT ALL ON db1.* TO 'webuser'@localhost   IDENTIFIED BY 'web1234';
    4. GRANT ALL ON db2.* TO 'webuser'@localhost   IDENTIFIED BY 'web1234';
    5. GRANT ALL ON db3.* TO 'webuser'@localhost   IDENTIFIED BY 'web1234';
    6. GRANT ALL ON db4.* TO 'webuser'@localhost   IDENTIFIED BY 'web1234';
    7. GRANT SELECT ON mysql.proc TO 'webuser'@'localhost';
  2. Restore db
    1. db1 ~ db4
  3. Change root PWD :
    1. Open “Mysql Workbench" (或是使用 Mysql command)
    2. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('abc1234')








No comments:

Post a Comment