MySQL5.7 關於在Windows安裝的相關筆記

因爲windows設備上長期使用老版本5.五、以及mariadb分支版本。基本不多使用5.7,以致於偶爾安裝5.7測試時遇到一些麻煩耗費很長時間。在此記錄下載,方便往後查看。html

版本選擇

當前最新版本 5.7.20 社區版mysql

https://dev.mysql.com/downloads/mysql/sql

下載壓縮版本:數據庫

ZIP Archive (mysql-5.7.20-win32.zip)windows

https://dev.mysql.com/downloads/file/?id=473308bash

 

建立配置

自MySQL 5.7.18版本開始,將再也不附帶配置文件 my-default.ini,因此複製配置文件將無從作起。session

摘於:https://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.htmlsocket

 

自此,進行手寫配置文件。工具

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

[mysqldump]
quick

摘於:https://dev.mysql.com/doc/refman/5.7/en/option-files.html測試

增長base及data目錄:

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

basedir="D:/tools/MySQL/mysql5.7.20"
datadir="D:/tools/MySQL/mysql5.7.20/data"

[mysqldump]
quick

關於其餘的配置後續能夠參考官方文檔進行添加。

參見:https://dev.mysql.com/doc/refman/5.7/en/server-options.html

其餘博主詳解:https://www.cnblogs.com/zhoujinyi/p/5614135.html

 

初始化數據庫

進入mysql.exe所在目錄下,如:

使用管理員權限運行 CMD

>d:
>cd "D:/tools/MySQL/mysql5.7.20/bin"

# 如下命令二選一。
# 其一,初始化數據庫目錄,生成隨機MySQL密碼至日誌文件中。
# 其二,初始化數據庫目錄,生成(空)密碼。
>mysqld --initialize
>mysqld --initialize-insecure

執行以後到

./data/DESKTOP-****.err 文件中尋找password關鍵詞進行查找。

 

修改ROOT密碼

使用命令行登陸數據庫。

>mysql -uroot -p -P3306
Enter password:# 輸入生成的隨機密碼
mysql> use mysql;
mysql> desc user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field                  | Type                              | Null | Key | Default               | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host                   | char(60)                          | NO   | PRI |                       |       |
| User                   | char(32)                          | NO   | PRI |                       |       |
| Select_priv            | enum('N','Y')                     | NO   |     | N                     |       |
......
|
| authentication_string  | text                              | YES  |     | NULL                  |       |
| password_expired       | enum('N','Y')                     | NO   |     | N                     |       |
| password_last_changed  | timestamp                         | YES  |     | NULL                  |       |
| password_lifetime      | smallint(5) unsigned              | YES  |     | NULL                  |       |
| account_locked         | enum('N','Y')                     | NO   |     | N                     |       |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
45 rows in set (0.00 sec)

# 5.7已經取消了Password字段,取而代之的是authentication_string,並且已經"不推薦"修改表來完成實現修改用戶密碼。

mysql> update mysql.user set authentication_string=password('root') where user='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

# 官方推薦使用 ALTER 方法進行修改,具體使用以下。
# 該方法不須要刷新權限表(flush privileges)便可生效。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
Query OK, 0 rows affected (0.00 sec)

#這次雖然提示0條影響,但實則已經修改。

mysql> select host,user,authentication_string,password_last_changed from user;
+-----------+---------------+-------------------------------------------+-----------------------+
| host      | user          | authentication_string                     | password_last_changed |
+-----------+---------------+-------------------------------------------+-----------------------+
| localhost | root          | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 2018-01-06 21:56:39   |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | 2018-01-06 21:07:45   |
| localhost | mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | 2018-01-06 21:07:45   |
+-----------+---------------+-------------------------------------------+-----------------------+
3 rows in set (0.00 sec)

 

 

做爲Windows服務常駐運行

使用管理員模式運行CMD 進入 ./bin  目錄

安裝MySQL服務

# mysqld --install [服務名]
# mysqld --install-manual [服務名]  安裝服務不自啓
>mysqld --install MySQL57
Service successfully installed.

 

卸載MySQL服務

# mysqld --remove [服務名]  存在多個版本是須要具體服務名,容易卸載錯誤。
>mysqld --remove MySQL57
Service successfully removed.

# 或者使用windows內置管理方式刪除服務
>sc delete MySQL57
[SC] DeleteService SUCCESS

 

啓動/中止 MSYQL

# 啓動
net start MySQL57

#中止
net stop MySQL57

啓動時出現錯誤

MySQL57 服務正在啓動 .
MySQL57 服務沒法啓動。

服務沒有報告任何錯誤。

請鍵入 NET HELPMSG 3534 以得到更多的幫助。

詳情查看方式:

計算機管理>系統工具>時間查看器>Windows 日誌>應用程序> "具體的錯誤條目"

 

完)

相關文章
相關標籤/搜索