Showing posts with label MySQL. Show all posts
Showing posts with label MySQL. Show all posts

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')








Thursday, April 19, 2012

恢復 MySQL 的 .frm、.myd、myi 的資料庫內容

如何恢复 MySQL 的 .frm、.myd、myi 数据库文件

以下介紹 Windows 環境的恢復方法:

Step 1 : 找到 my.ini
一般會放在 : C:\Program Files\MySQL\MySQL Server 5.5

Step 2 : 在 my.ini 內找到關鍵字 datadir ,可以看到資料庫指定位置
datadir="C:/Documents and Settings/All Users.WINDOWS/Application Data/MySQL/MySQL Server 5.5/Data/"

此位置 應該可以看到:mysql/performance_schema/test ,等系統內定資料庫的目錄,就表示你已經找到正確的 DB 位置

Step 3 : 將需要回存的 DB 的目錄整個複製到 Step 2 指定的目錄下。

Step 4: 到控制台的服務,重新啟動MySQL 。資料應該就會連結到你的MySQL 了。..

看到資料庫嗎 ? 恭喜你了 ^^

PS:Story procedure & Viewer 無法用此方式復原。



Wednesday, April 18, 2012

phpMyAdmin 错误,缺少 mysqli 扩展。请检查 PHP 配置。


phpMyAdmin - Cannot load mysqli extension

phpMyAdmin - 错误 缺少 mysqli 扩展。请检查 PHP 配置。

** 手動解壓縮的方式安裝 PHP 有時候會遇到這樣的問題,
-  -  -  -  -  -  -  -  -  -  -   -  -
 Step 1 :
比對了一下環境差異,手動安裝時候 系統環境變數需要增加參數
2003 R2 ->電腦 ->右鍵 系統內容->進階 ->環境變數 ->系統變數
Add Path:D:\Program Files\PHP\; D:\Program Files\MySQL\MySQL Server 5.5\bin (視你安裝的路徑變更,舊的變數請勿刪除)
Step 2 :
新增變數 名稱: PHPRC , 變數值:D:\Program Files\PHP\
-----------------------------------
其他 php.ini 設定,一般的程序還是需要的。
1.D:\Program Files\php\php.ini-production Copy to C:\Windows\php.ini
2.
 ;extension_dir = "ext"
 ;extension=php_mysqli.dll 
  ;extension=php_mysql.dll 去掉分號 ;
3.  DLL 放到C:\WINDOWS\system32了  (不需要)
4.  重启服务了?

再整理一下phpMyAdmin 網頁,應該可以正常啟動了。

PS:   httpd-2.2.22-win32-x86-openssl-0.9.8t
  php-5.4.0-Win32-VC9-x86
  mysql-5.5.21-win32
----------------------------------------
phpinfo()
  PHP Version 5.4.0
  mysql 5.5.21