首先下載MySQL5.7的壓縮包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1.解壓縮到目標文件夾,解壓后有許多文件,介紹一下用到的幾個(在bin目錄下)
- mysqld:SQL的守護進程(即MySQL服務進程),為了運行客戶端程序,mysqld必須運行,因為客戶程序需要通過連接服務訪問數據庫
- mysql:命令行工具,用於交互式地輸入SQL語句或以批處理模式從文件執行SQL語句
- mysqladmin:一個用於執行管理操作的客戶端程序,例如創建或刪除數據庫,重載授權表,將表刷新到磁盤,以及重新打開日志文件。mysqladmin還可以用於從服務器檢索版本、流程和狀態信息
2.創建一個配置文件
配置文件有很多種,讀取順序如下表,后讀取的優先級更高,即文件終端配置選項會覆蓋前面的配置選項,可以使用mysql --help查看讀取的配置文件
| File Name | Purpose |
|---|---|
, |
Global options |
C:\my.ini, C:\my.cnf |
Global options |
, |
Global options |
defaults-extra-file |
The file specified with --defaults-extra-file, if any |
|
Login path options (clients only) |
為了方便,這里就不展開講了,直接在mysql解壓目錄下創建一個my.ini配置文件。用文本編輯器打開,輸入以下內容(這里假設將壓縮包解壓在E盤根目錄下)然后保存
[mysqld] # mysql的安裝目錄(windows下使用雙斜杠,或者用'/'也行) basedir=E:\\mysql # mysql的數據目錄 datadir=E:\\mydata\\data
#設置端口,可省略
port=3306
[mysqladmin]
#端口配置可以省略,但mysaladmin的操作是根據端口來進行的
port=3306
注意:從MySQL 5.7.6開始,ZIP文件不再包含data目錄,所以需要手動創建,使用以下命令
C:\> bin\mysqld --initialize --console C:\> bin\mysqld --initialize-insecure --console
--initialize會創建一個隨機的root賬戶密碼,而--initialize-insecure則使用空密碼,--console選項用於顯示詳細信息
3.啟動mysql服務
注意:這里只是運行mysql服務,還沒有將其作為為windows服務來運行
切換到bin目錄下輸入命令
E:\mysql\bin> mysqld --console
如不使用--console選項則詳細信息會存儲到到data目錄下擴展名為.err的文件中
如果運行成功應該看到和下面差不多的信息
InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist: InnoDB: a new database to be created! InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200 InnoDB: Database physically writes the file full: wait... InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280 InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280 InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280 InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created InnoDB: creating foreign key constraint system tables InnoDB: foreign key constraint system tables created 011024 10:58:25 InnoDB: Started
如果mysql服務完成了啟動並顯示類似這樣的信息,說明已經准備好接受客戶端程序的連接
mysqld: ready for connections Version: '5.7.25' socket: '' port: 3306
4.用命令行工具mysql連接服務
E:\mysql\bin>mysql -u root -p
成功連接
可以使用mysqladmin工具結束mysql服務(密碼為空,不為空要使用p選項)
E:\mysql\bin>mysqladmin -u root shutdown
5.將mysql作為windows服務啟動
如前面還沒暫停mysql服務,需先暫停(前面有講),然后使用如下命令安裝服務
E:\mysql\bin>mysqld --install
安裝完成后即可用net start mysql服務啟動服務,然后用mysql -u root -p成功連接
可以使用下面命令查看運行狀態,端口以測試服務是否運行正常
E:\mysql\bin>mysqladmin -u root -p version status proc
6.關於移除mysql服務
首先 net stop mysql關閉mysql服務,然后輸入
E:\mysql\bin>mysqld --remove
